From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 80965CD37AB for ; Tue, 3 Sep 2024 18:39:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 094328D01CB; Tue, 3 Sep 2024 14:39:18 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 044098D016E; Tue, 3 Sep 2024 14:39:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E751E8D01CB; Tue, 3 Sep 2024 14:39:17 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id CA13F8D016E for ; Tue, 3 Sep 2024 14:39:17 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 5283DC0466 for ; Tue, 3 Sep 2024 18:39:17 +0000 (UTC) X-FDA: 82524289554.11.CB7B733 Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com [209.85.218.51]) by imf03.hostedemail.com (Postfix) with ESMTP id 6D51420015 for ; Tue, 3 Sep 2024 18:39:15 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=m8LoU9B3; spf=pass (imf03.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.51 as permitted sender) smtp.mailfrom=yosryahmed@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1725388708; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=o7ZyRd+YkYe9/+6vmRhnsrYoSz+GnkaG4/Tw8IFdilo=; b=MOEowVGAod8sgTxGcXtLHxZ4kVJonlBAMn/6Z97inH75fPxlWZO8Hz6bg1V0b+EqKfne3G Jt4lYGzPwd0rFq8/bVzRxzejiRpPd0Vejyz4TOhF8GTUsQsZWNuEGOAjYb2uN31ygQR90E izww3ux4/7xkGStgSevQXbZviWt+fsE= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=m8LoU9B3; spf=pass (imf03.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.51 as permitted sender) smtp.mailfrom=yosryahmed@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1725388708; a=rsa-sha256; cv=none; b=6QoMjUt+RzcC2r5wDHrbZohTrj/2F8DbSmQ7379fBeCePoaqwjbavZN/vq2JD/o/T4sgOs WWlZGlrZmdo/x5bv7nNXtMr/fW57XPpuKT+D2aohQib5IKUyjWizJCIOnrtnwXAvJfZQBo ARwRP+/8puTZT7Cjjj0+Ft+7YWQsVRs= Received: by mail-ej1-f51.google.com with SMTP id a640c23a62f3a-a868b8bb0feso691384966b.0 for ; Tue, 03 Sep 2024 11:39:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1725388754; x=1725993554; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=o7ZyRd+YkYe9/+6vmRhnsrYoSz+GnkaG4/Tw8IFdilo=; b=m8LoU9B30aKH+YItzvl+D+VVIw+DobzlbbK63fa4eGTj5+r6A/Frw3PRZCjknku85B WJo6DlStgxV/7wHF76BxwjpbBJVtgLR8luVR4e3u5Ch7SCUJhkj9AWSwfMeFUR6PzQmf UJ3d6JhqXBl6+UEGq2UolbDLpWF8ZYbKVizwL9wIUVdDRX8jYx7cHjdY3qb2nWkEgiOo rjZCCQqO6s0M65XeWnzLOlnEKgJw5tgHE2VRC1wBEAHrgIaUTiElYctomwB4+CA6zYSD D6S2DWDQ5oG69l9loVMSjJlflgw6RyFrt9xGgQuIDWax7ArRSLo/DnqhsCajx0DGqzRw muVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1725388754; x=1725993554; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=o7ZyRd+YkYe9/+6vmRhnsrYoSz+GnkaG4/Tw8IFdilo=; b=DHEoK3pQ7u8VN2U7AbZTsla6sl/Ff5ywiAlEqywMyB5RYCGXS1uFExFv8T9w05R1q0 lfJj7zLewYjma62DRuqiWT0Y1F+ok1jUbgEaICkaGnH4H4wOdE30BLfAGoI6vm7ak7OP uc0XzHteZmVP/UbsuPB93vevyXjIg/i/UrNhDtKMOqP36Bm8nOBqECy188DOozAsZWor 96h06TrodEtoiK0Q+HSMW/FFM/joeykB3B33RT26t6uTb5muV3T4stH43TlzUWPvGpCN EAJo1MqC0V64OHlHfh7zrbiZW14ha3qP5ZEhVRbBSjHXW7foUq9/TomlN6+IQlT+8jwk P6iQ== X-Forwarded-Encrypted: i=1; AJvYcCU9hffBfYR5LRSNMEuq3w9ttnQE2xjQpPNuxXMEUxAtkl1wmQ/apQbtQyD1UBbtmkek2hxqQzcAJg==@kvack.org X-Gm-Message-State: AOJu0YyGJplEwAHNvzEv49OSTu8Vk/ZEq56UrJZuYmCBlHUshCmUZTTd 3RlXfn0+tPKDI20/VfNj01+rhAdbULQYmEVU1/UWs5yS+jApQ40Qjo18oiUKYjnkoazClMD8MEe 1cztLpXIsmYlV3lk2W9rQb/gopm4SF2Sb+zwh X-Google-Smtp-Source: AGHT+IGj0mWyRsR47LHFVEGQKRqzSzE70fQIG2IcbCUZGxyhvIEZ6EH02JjyFrfCwcAVlEcOsMlNJNgo86eeIPK4uC8= X-Received: by 2002:a17:907:846:b0:a7a:b73f:7582 with SMTP id a640c23a62f3a-a89a350eefemr994272266b.2.1725388753105; Tue, 03 Sep 2024 11:39:13 -0700 (PDT) MIME-Version: 1.0 References: <20240821074541.516249-1-hanchuanhua@oppo.com> <20240821074541.516249-3-hanchuanhua@oppo.com> In-Reply-To: From: Yosry Ahmed Date: Tue, 3 Sep 2024 11:38:37 -0700 Message-ID: Subject: Re: [PATCH v7 2/2] mm: support large folios swap-in for sync io devices To: Kairui Song Cc: hanchuanhua@oppo.com, Usama Arif , akpm@linux-foundation.org, linux-mm@kvack.org, baolin.wang@linux.alibaba.com, chrisl@kernel.org, david@redhat.com, hannes@cmpxchg.org, hughd@google.com, kaleshsingh@google.com, linux-kernel@vger.kernel.org, mhocko@suse.com, minchan@kernel.org, nphamcs@gmail.com, ryan.roberts@arm.com, senozhatsky@chromium.org, shakeel.butt@linux.dev, shy828301@gmail.com, surenb@google.com, v-songbaohua@oppo.com, willy@infradead.org, xiang@kernel.org, ying.huang@intel.com, hch@infradead.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: 6D51420015 X-Stat-Signature: mu7xgzbmxm1wwrfkb9ppposx8g8ifakw X-HE-Tag: 1725388755-557268 X-HE-Meta: U2FsdGVkX1/xoCRX87X3pd9+9Bh8Hr2Crkshg1OYUzPZeCpcz3Q0AwjcddR7C2xevKEd0Djo2VTxTl4Aghmha1cKcYoZ9MTspU6LHFgHPn5urT5sIWJsnK3hBUTudvvdPLmTXb8ek5uM+vw25NWazHDv9+ThoJ/zDzf42Em277HsSHmswyrDvJQy/t9l+yW0ufapV3Y5/0/kjVuxkO6e5GFJoshc+qvKDjSKu17TeivxepLvj73w3WdxkK3PXcNgxtyJ/wXq0FUGc87Wn8jZ2p9SYG1kr+t8siktdTRqsQCnuyUdilLekc9XWee/hCcgWb+1cMnyIHP3eRmCN5It/K0nnxAnrpSFDVdUlXbCEpiGVMN0XXUrdbq+C+vgWyJfXVdfmThbu1vOODnnu5tiLVLK2+7WXfWakUbS+BIO46nDTrPODEw98jUD5qP45yM/y1c5swkk3nY8kQtM/VFZkq/XgyvumV4Z1vW0mswFvgEyAL7m7DrOP3P+j1yl2pGgrgC09VfMJ4UnGQumqvtUlv7roPziD2QEok86FDBBWsWy6NT/l76YeJ3ean6qg1fd2l1m/r1E34rXFTppBcKWHGfD4yKHi3WlIVecLZJ7+aLm8KiVa+f1f3uBEPwdLV1jqelJvPWErh524wEH3atJTBpzb1fCUoxYJre+i5GgLBR46pCas9iHYvl3qi6+Ob4WYu6R0zGRe4Wt3FEGJP2HhThZhx0djurjTSRySjRARwrzkSsTFiBFomP63QtgfZ0bibbOsb9Yk4Ls8C6uNchM/mezu7dH2c1RK/0O9i76JHbMkbpap98WVRLR06gMZMoE7SpcmZIiPVDHXUqTs67pbqrFe/KSZrRJftzG98TeTCdJYZfreLvH+l5PcEbF9EwTtNAXzbDqYwNIJA/9N6eDN7L7Tb9wwK+RJ5oYC1TLHfPwJz3Emz4PbJhXXGjfH01Amw39i02snQhe4ABt2As +4W7Wgdb zAWtSN9Rn3WXB5zpEI3IDICeL5NDsHpQyUynZZM/D3ER+s/9xirdnOHRbCT5UvTD5EYe6zNsCUBht04jqjaASjKTPuQhhZCDO4cl1CcbTmzWmOlH5MZ0BEwtLU+/DWmX3zWpfDOsVLe8fbDiqLuXoaYnd5ZGq0M4fSChOqMJUKSTOSHgs+KD0nqwuwQD+qEZ5AQFAdEOjPtQroNgYbCkbVn3AzLOA3XMvYOVjdcrQrbabJQcrwRdonssueE6PMnMrmEI6FGoJkHWQ6hlAd+my3i4XgJOmfeU2TjphIBdzWeOYxUY= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: [..] > > With latest mm-unstable, I'm seeing following WARN followed by user > space segfaults (multiple mTHP enabled): > > [ 39.145686] ------------[ cut here ]------------ > [ 39.145969] WARNING: CPU: 24 PID: 11159 at mm/page_io.c:535 > swap_read_folio+0x4db/0x520 > [ 39.146307] Modules linked in: > [ 39.146507] CPU: 24 UID: 1000 PID: 11159 Comm: sh Kdump: loaded Not > tainted 6.11.0-rc6.orig+ #131 > [ 39.146887] Hardware name: Tencent Cloud CVM, BIOS > seabios-1.9.1-qemu-project.org 04/01/2014 > [ 39.147206] RIP: 0010:swap_read_folio+0x4db/0x520 > [ 39.147430] Code: 00 e0 ff ff 09 c1 83 f8 08 0f 42 d1 e9 c4 fe ff > ff 48 63 85 34 02 00 00 48 03 45 08 49 39 c4 0f 85 63 fe ff ff e9 db > fe ff ff <0f> 0b e9 91 fd ff ff 31 d2 e9 9d fe ff ff 48 c7 c6 38 b6 4e > 82 48 > [ 39.148079] RSP: 0000:ffffc900045c3ce0 EFLAGS: 00010202 > [ 39.148390] RAX: 0017ffffd0020061 RBX: ffffea00064d4c00 RCX: 03ffffffffffffff > [ 39.148737] RDX: ffffea00064d4c00 RSI: 0000000000000000 RDI: ffffea00064d4c00 > [ 39.149102] RBP: 0000000000000001 R08: ffffea00064d4c00 R09: 0000000000000078 > [ 39.149482] R10: 00000000000000f0 R11: 0000000000000004 R12: 0000000000001000 > [ 39.149832] R13: ffff888102df5c00 R14: ffff888102df5c00 R15: 0000000000000003 > [ 39.150177] FS: 00007f51a56c9540(0000) GS:ffff888fffc00000(0000) > knlGS:0000000000000000 > [ 39.150623] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > [ 39.150950] CR2: 000055627b13fda0 CR3: 00000001083e2000 CR4: 00000000003506b0 > [ 39.151317] Call Trace: > [ 39.151565] > [ 39.151778] ? __warn+0x84/0x130 > [ 39.152044] ? swap_read_folio+0x4db/0x520 > [ 39.152345] ? report_bug+0xfc/0x1e0 > [ 39.152614] ? handle_bug+0x3f/0x70 > [ 39.152891] ? exc_invalid_op+0x17/0x70 > [ 39.153178] ? asm_exc_invalid_op+0x1a/0x20 > [ 39.153467] ? swap_read_folio+0x4db/0x520 > [ 39.153753] do_swap_page+0xc6d/0x14f0 > [ 39.154054] ? srso_return_thunk+0x5/0x5f > [ 39.154361] __handle_mm_fault+0x758/0x850 > [ 39.154645] handle_mm_fault+0x134/0x340 > [ 39.154945] do_user_addr_fault+0x2e5/0x760 > [ 39.155245] exc_page_fault+0x6a/0x140 > [ 39.155546] asm_exc_page_fault+0x26/0x30 > [ 39.155847] RIP: 0033:0x55627b071446 > [ 39.156124] Code: f6 7e 19 83 e3 01 74 14 41 83 ee 01 44 89 35 25 > 72 0c 00 45 85 ed 0f 88 73 02 00 00 8b 05 ea 74 0c 00 85 c0 0f 85 da > 03 00 00 <44> 8b 15 53 e9 0c 00 45 85 d2 74 2e 44 8b 0d 37 e3 0c 00 45 > 85 c9 > [ 39.156944] RSP: 002b:00007ffd619d54f0 EFLAGS: 00010246 > [ 39.157237] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 00007f51a44f968b > [ 39.157594] RDX: 0000000000000000 RSI: 00007ffd619d5518 RDI: 00000000ffffffff > [ 39.157954] RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000007 > [ 39.158288] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000001 > [ 39.158634] R13: 0000000000002b9a R14: 0000000000000000 R15: 00007ffd619d5518 > [ 39.158998] > [ 39.159226] ---[ end trace 0000000000000000 ]--- > > After reverting this or Usama's "mm: store zero pages to be swapped > out in a bitmap", the problem is gone. I think these two patches may > have some conflict that needs to be resolved. Yup. I saw this conflict coming and specifically asked for this warning to be added in Usama's patch to catch it [1]. It served its purpose. Usama's patch does not handle large folio swapin, because at the time it was written we didn't have it. We expected Usama's series to land sooner than this one, so the warning was to make sure that this series handles large folio swapin in the zeromap code. Now that they are both in mm-unstable, we are gonna have to figure this out. I suspect Usama's patches are closer to land so it's better to handle this in this series, but I will leave it up to Usama and Chuanhua/Barry to figure this out :) [1]https://lore.kernel.org/lkml/CAJD7tkbpXjg00CRSrXU_pbaHwEaW1b3k8AQgu8y2PAh7EkTOug@mail.gmail.com/