From patchwork Mon Jan 13 08:27:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wupeng Ma X-Patchwork-Id: 13936870 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 E188DE7719F for ; Mon, 13 Jan 2025 08:34:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 34F756B0085; Mon, 13 Jan 2025 03:34:42 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2FF216B0088; Mon, 13 Jan 2025 03:34:42 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1A00A6B008A; Mon, 13 Jan 2025 03:34:42 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id EEED96B0088 for ; Mon, 13 Jan 2025 03:34:41 -0500 (EST) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 9DBA4121B3F for ; Mon, 13 Jan 2025 08:34:41 +0000 (UTC) X-FDA: 83001767562.04.53D8272 Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by imf08.hostedemail.com (Postfix) with ESMTP id 7666E160019 for ; Mon, 13 Jan 2025 08:34:39 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf08.hostedemail.com: domain of mawupeng1@huawei.com designates 45.249.212.255 as permitted sender) smtp.mailfrom=mawupeng1@huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1736757279; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=O7Mm6ELrkXqt3ZfwnMsNbybx1CRr6NPO4cAe/yKt3gw=; b=LVI56PDDnVUf6gkxwSrivMK6J98epS2x6+hnv/r3sVM7Hc5hUUrhjveZrWZqVfptjznlJB 34qEQdX3LagR+sOdwqbI75w/PFLwgiqFobgEh15sBlz2n4GM/HnsJRUWT0MCB/tm6sc4oZ 8eiHlrVC6g9db/URl7q2lNPFvb7DXJk= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf08.hostedemail.com: domain of mawupeng1@huawei.com designates 45.249.212.255 as permitted sender) smtp.mailfrom=mawupeng1@huawei.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736757280; a=rsa-sha256; cv=none; b=Hg2GLRJj6kaZIQr8LM9+B5kRUyZK1cxGDTGspaJBBbdKEd6y+b1ouEdx8X+T5fbJGhG4PV xsxYa6fcahN+oCUhPTUeS+KhM1RRJg360V0j59LvaJLboEqFVoPe0ocQuYTT0Nz292QteI Uw7s2P7lsF38t78H1HpJH91QL626Pko= Received: from mail.maildlp.com (unknown [172.19.163.48]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4YWlnz2kFlz1W3x9; Mon, 13 Jan 2025 16:30:47 +0800 (CST) Received: from kwepemg100017.china.huawei.com (unknown [7.202.181.58]) by mail.maildlp.com (Postfix) with ESMTPS id 7E27C180064; Mon, 13 Jan 2025 16:34:35 +0800 (CST) Received: from huawei.com (10.175.124.71) by kwepemg100017.china.huawei.com (7.202.181.58) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Mon, 13 Jan 2025 16:34:34 +0800 From: Wupeng Ma To: , , , , , CC: , , Subject: [PATCH 1/2] mm: memory_hotplug: add TTU_HWPOISON for poisoned folio during migrate Date: Mon, 13 Jan 2025 16:27:16 +0800 Message-ID: <20250113082718.1872494-2-mawupeng1@huawei.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250113082718.1872494-1-mawupeng1@huawei.com> References: <20250113082718.1872494-1-mawupeng1@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.175.124.71] X-ClientProxiedBy: dggems701-chm.china.huawei.com (10.3.19.178) To kwepemg100017.china.huawei.com (7.202.181.58) X-Rspamd-Queue-Id: 7666E160019 X-Stat-Signature: neifonzndxjhc5pkhgz481otw8n1jxyp X-Rspam-User: X-Rspamd-Server: rspam11 X-HE-Tag: 1736757279-384544 X-HE-Meta: U2FsdGVkX19Vj2+2hBXn2m9lJqQKQrCC/iwJYdbcmfKwQd122YsTiKGcw1I8+24cxjRZrIk1IJ3f19WfjyKg/q/XoGlsAfajCj795FzLuVE3pkTFazNzFBTFQ7jLWE6AsKKBWW9/SYVzkWCiQXT1Gqiwrzmw2ca/zrhyUjD5bQCJzZ/S9ZUxNVFuqZY8VPMYFXAal+mHUD/NAIG5Nm0E2sWu7pQ83wdKKeOFMFCTNCTmPzschNhSSM/ZGXn9SPHDp4MWtJtv5TVTd+0a85z0FrpRRavnmmXGrIT92ykHIeBupv3596miztSpYv7WPLzlYqWgkHRdAd7LWK7CddbFwaA5HcB2+FlqqKRpS2REXHWuBhIFeICsgyHix84v0jqGtd3FQwmSOwYDBTAaIZYsZg74NQXMTiR62W7i/wbZEIHzV00Ppp0qcXcjGNrimO5/gjq8kKv18ir78Nl73rFa7RIzI8Ip6/W49ULuCzfaQ+BBFWSzPF5BMIEjtrYP28mPd1cuRYuc5CzyAENEG02bJG053XZXelKHXibv6X9V/s3xNaEEpjkSJ3BdJqhzJJcxg/ChHT0AIxsK/CLBEfssZVsyf8auvsOY+SIuZCuNBCm2vzqe1cYrSjf5tLY39xN/HzHH2d5Vd19AXGNZ7WRjX2XZUQBKdLf3rm+E+C4Tj1s7klDE8RYMEIb4TPeWXPXnM1JSU9zRcLBRLlQyJlYVDZd1uv965MLP+UXyxRLw0Sdhot9OC1jXDrHp1bacD30uKOWdYoj71uOhl6O7vb6B1+Tj8sf/z2Fbp9BhIgdXQr1k7qxPc0YNf+a8ClkAmohpYdgoaiDjvAfIj49nkQJKJukPwMRZEpB9+ChMcV8IzBGErYCw1kqfTIWZVdjRpGY9v37JbDgMkfzDsiVrwOej4JsRxsY8k+Bgl2Dct+kfxMD7p9e/v0rLbBv1reaatAH6JulwIkRL8KRRsCJrBjS jOpMyumb fNf5gFwwmgvCHmMyWLThfAnF5h3D1/ddCvmEZ++iN4dYqCKBskpkgLkjLGD3aZYhRnj2jtL6hunTKCZr1JLC3zYc0aoDMkhos6F8uzFfQWxJIGlpGTM/M3GyxBm+LOuADnmDTyEANSdTAbgWIA+Ru4bWKY8W2w+6wcIzFYJ+u6JqL6QEXxeRewqqenMzTkM1KbSfWcqsJy3edUH7VON/rLynInx29DlZPem+FraMsLXgRupGoSBj9JtZQdWwhuxkxR0QA 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: From: Ma Wupeng Commit 6da6b1d4a7df ("mm/hwpoison: convert TTU_IGNORE_HWPOISON to TTU_HWPOISON") introduce TTU_HWPOISON to replace TTU_IGNORE_HWPOISON in order to stop send SIGBUS signal when accessing an error page after a memory error on a clean folio. However during page migration, task should be killed during migrate in order to make this operation succeed. Waring will be produced during unamp poison folio with the following log: ------------[ cut here ]------------ WARNING: CPU: 1 PID: 365 at mm/rmap.c:1847 try_to_unmap_one+0x8fc/0xd3c Modules linked in: CPU: 1 UID: 0 PID: 365 Comm: bash Tainted: G W 6.13.0-rc1-00018-gacdb4bbda7ab #42 Tainted: [W]=WARN Hardware name: QEMU QEMU Virtual Machine, BIOS 0.0.0 02/06/2015 pstate: 20400005 (nzCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : try_to_unmap_one+0x8fc/0xd3c lr : try_to_unmap_one+0x3dc/0xd3c Call trace: try_to_unmap_one+0x8fc/0xd3c (P) try_to_unmap_one+0x3dc/0xd3c (L) rmap_walk_anon+0xdc/0x1f8 rmap_walk+0x3c/0x58 try_to_unmap+0x88/0x90 unmap_poisoned_folio+0x30/0xa8 do_migrate_range+0x4a0/0x568 offline_pages+0x5a4/0x670 memory_block_action+0x17c/0x374 memory_subsys_offline+0x3c/0x78 device_offline+0xa4/0xd0 state_store+0x8c/0xf0 dev_attr_store+0x18/0x2c sysfs_kf_write+0x44/0x54 kernfs_fop_write_iter+0x118/0x1a8 vfs_write+0x3a8/0x4bc ksys_write+0x6c/0xf8 __arm64_sys_write+0x1c/0x28 invoke_syscall+0x44/0x100 el0_svc_common.constprop.0+0x40/0xe0 do_el0_svc+0x1c/0x28 el0_svc+0x30/0xd0 el0t_64_sync_handler+0xc8/0xcc el0t_64_sync+0x198/0x19c ---[ end trace 0000000000000000 ]--- Add TTU_HWPOISON during unmap_poisoned_folio to fix this problem. Fixes: 6da6b1d4a7df ("mm/hwpoison: convert TTU_IGNORE_HWPOISON to TTU_HWPOISON") Signed-off-by: Ma Wupeng --- mm/memory_hotplug.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c index c43b4e7fb298..330668d37e44 100644 --- a/mm/memory_hotplug.c +++ b/mm/memory_hotplug.c @@ -1806,7 +1806,7 @@ static void do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) if (WARN_ON(folio_test_lru(folio))) folio_isolate_lru(folio); if (folio_mapped(folio)) - unmap_poisoned_folio(folio, TTU_IGNORE_MLOCK); + unmap_poisoned_folio(folio, TTU_IGNORE_MLOCK | TTU_HWPOISON); continue; }