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 2AD6CC83F17 for ; Mon, 14 Jul 2025 15:45:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A61EF8D0011; Mon, 14 Jul 2025 11:45:03 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A121E8D0001; Mon, 14 Jul 2025 11:45:03 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8B2F88D0011; Mon, 14 Jul 2025 11:45:03 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 77DF78D0001 for ; Mon, 14 Jul 2025 11:45:03 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 2B32A10C9FC for ; Mon, 14 Jul 2025 15:45:03 +0000 (UTC) X-FDA: 83663293686.19.2A028E1 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2052.outbound.protection.outlook.com [40.107.236.52]) by imf19.hostedemail.com (Postfix) with ESMTP id 4F18E1A0006 for ; Mon, 14 Jul 2025 15:45:00 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=OgPkRo+w; spf=pass (imf19.hostedemail.com: domain of ziy@nvidia.com designates 40.107.236.52 as permitted sender) smtp.mailfrom=ziy@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1752507900; 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:dkim-signature; bh=1IXjDKZIy4q5MkBi9hJm5cfP0B/9QLyuxV1OCxcIr1Q=; b=ytXj028a0yRCyapMUje5vvMcSW/jSWEuBfXWvSsAH0Ig2QKNjNfcApomLoj6FBnJgx3wDR 545p2EDznvd0/z8HvuI8IlD7meLW6HAa19AcpTkfyb3bFpfvtVWylo81x/Yb4haZ/j8vKV sj+H61c63/aiij/L8fO+6sNADue7aA8= ARC-Authentication-Results: i=2; imf19.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=OgPkRo+w; spf=pass (imf19.hostedemail.com: domain of ziy@nvidia.com designates 40.107.236.52 as permitted sender) smtp.mailfrom=ziy@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1752507900; a=rsa-sha256; cv=pass; b=w1ob2UJsIMZG9LmiPGSk4NaJi/cK2x7/rv6yHXSbLsSG/8yHKdpncYthWjamuocP3kmDHD s8uylt4Qwiu3qUR9mSRx8rQFs9adM+u2PcYRZItAYDDLxcntiEMLjW6EkxenD4fEiFvDe+ ssaD8YuGbhu/25/2h/ssGgk9tBUQ9BI= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ijt+pNusNbRZRvD4IL8RyDY7DOwP25Yp4K4mon3FEY1Z3U68FYSRtR5auvmb2IjUHayixTJ1IDsUqf2Ocs55WzMXVeFRf3d2AcjCv6qp7xbp81Yo7QSjGN4h1Nh8vCHc3QneLXsRR8ANj/VZU8fwz4OFc9wrwvoZ7YxQFH5oct4Mg+BLJIDQ9jcyS6GhSgRR5+waVgbA7GHq5e2s6ygvbfElcYnjrpt92JWs4cy0fNOFYS44nRL/Yctx2UNgibfpRQHv/hD3eFeLEYOGwg6827ZFXNuOfzL3WXs8Qzg3h7Gnce/6Zo2rhceIcDqGIeOFeuTugDna4MuqENddx4gdXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=1IXjDKZIy4q5MkBi9hJm5cfP0B/9QLyuxV1OCxcIr1Q=; b=mrGdBFrRybD0Hy5aNG3lfek7nfGlRGkUtVGO++LFTYMUx3Zav6fNP6rVQWNoKzfVEaHpET6gkOCW2l5QhWubV+4Jdw76F9eJvEOH1lP6tRc9Z66YzFqtV+2EpUDn+aI6FbxoWViYuHBg8utF2rEz8UhKx0j3KG+Loj+kVvHJy9jeL6uTj5IxHPX7x9pZNY132e8vGeI8pzsDg5LfzHjzRcOhL7UbG+XDHFdqXz4Sd+cRyuC8Ug+qIOV3n5gHumghqyq2stlkQumrvUhF6n/qI5OQ89qY4nkcubrZiNg5SYuWkrX4So3GX51QTC0wRsOupSgAUIIaAi9RxMJDXoTzfA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1IXjDKZIy4q5MkBi9hJm5cfP0B/9QLyuxV1OCxcIr1Q=; b=OgPkRo+w0v1hQsrPE0ywGfhoDZWcoRI4ruinMokvM8XoSzcJ1Q7q+eaOD+sYg0Q6aOsB7lwI/J7HNbPo7jVpwkYCFZvDqY8w8FnWI6QPNOkoB0DqHmNOmRNnTWDv9Pf7jO4Cw8m3pFe/2uTGQov6CyE6ctNgdObtE7BFA2qr4fQKQ9Xl0HLvnbIscNIrMHZ8Bp2/xHIT1+bPn4myIG6y6zmHQ05F5wLfikVGwzMq3LmfuDE/NXST4v7bpmRcJW+6B7vUUINVgp3OpfyKPlxgeylnNrp8kfIkn1SCUnZy4EmdV5xwJtD+KJsFofqjTbx3oMK0DTRLnq1ublC4MoAAgg== Received: from DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) by CH3PR12MB8281.namprd12.prod.outlook.com (2603:10b6:610:128::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8922.33; Mon, 14 Jul 2025 15:44:57 +0000 Received: from DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::5189:ecec:d84a:133a]) by DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::5189:ecec:d84a:133a%6]) with mapi id 15.20.8922.023; Mon, 14 Jul 2025 15:44:57 +0000 From: Zi Yan To: David Hildenbrand Cc: "Pankaj Raghav (Samsung)" , Matthew Wilcox , Luis Chamberlain , Jinjiang Tu , Oscar Salvador , akpm@linux-foundation.org, linmiaohe@huawei.com, mhocko@kernel.org, linux-mm@kvack.org, wangkefeng.wang@huawei.com Subject: Re: [PATCH v2 2/2] mm/memory_hotplug: fix hwpoisoned large folio handling in do_migrate_range Date: Mon, 14 Jul 2025 11:44:54 -0400 X-Mailer: MailMate (2.0r6272) Message-ID: In-Reply-To: References: <61325284-d1d6-a973-8aa7-c0f226db95fa@huawei.com> <7b2c054b-fc33-4127-aaa9-9edf6a63e142@redhat.com> <924d9d25-e53c-f159-6ec0-e1fd4e96d6e2@huawei.com> <4c5d4fd5-5582-11d8-9fee-24828ac1913d@huawei.com> <8c9719f0-c072-40bb-b7f6-6f2cc41a31dc@redhat.com> <1D589FE5-3515-4ED5-B12E-D5CE23BA5D13@nvidia.com> <641F5B0B-2B48-46FA-AC58-3A8A4BEB1448@nvidia.com> <3702f6b0-27a9-4ca1-adbd-fb1e2985b2d3@redhat.com> <345f7ae6-b2d6-44cd-b8b6-2bdd4b33e9d6@redhat.com> Content-Type: text/plain Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BL1PR13CA0170.namprd13.prod.outlook.com (2603:10b6:208:2bd::25) To DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR12MB9473:EE_|CH3PR12MB8281:EE_ X-MS-Office365-Filtering-Correlation-Id: 356d2c03-1e5a-47a5-554f-08ddc2ed6243 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|7416014|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?UyoDoNs3hrzyNsg6bga5Hf9p/8aA6JfFLjZuqiEDHdkqILYhi8OZcZF6VGZn?= =?us-ascii?Q?ZnTLvGJY0qB8BKVwe2kIkSYxjc1fMyg2AAi8S027BsjOpuXWiqSb8wcv9gjt?= =?us-ascii?Q?w8j/9ecgUHO50bJRE2fLkyIZewKt0R6LW50yUK5jpLxwK5SPglTViF3nHDvI?= =?us-ascii?Q?0sU5CD9zrLvLo0iE/E1/oreIBt6Q3tfDsA9gOmxbf0+Vb4vG3JDiR5jIgYg0?= =?us-ascii?Q?XX36oSfu5neLRXNg3dqvhR3Wq24k2QfEum2zFiKiSYTL6Fp2VZHSQF6zmWvw?= =?us-ascii?Q?i+WbH4qE8nEfPZlQJKYCP5MpHAFDRwVeKBbm/bKXiuqdB0MlwbKYRf2yFrTB?= =?us-ascii?Q?5EME0Jt9wW4cOW9F9uFabpyi+fSkW0wizNtIzhQg21K72gGdPLT66nYwq2Cs?= =?us-ascii?Q?aHzrqiHcfheFuTbIRrDjJOG+59TWcik1+PiACs8SbW8nBHJoj+/L+mkC+pCp?= =?us-ascii?Q?H55Xg9x/MGQUp/SUFgLE41LaISwv7cfRye0DWwdcdJnRP+dF3iuMhQP4cIDI?= =?us-ascii?Q?qSZ4A1BmV/mQoAQtahdBJRLYmvYNRhROZdRCdzptpr+q0zm6yDIRcI1RhPQY?= =?us-ascii?Q?3ZuX0Amng7tmqV0cymPjtvEuCY8QMaVVONmyLnJCeYUuxeW5QHSUVetDvtBi?= =?us-ascii?Q?zZBumNI/dCPZSPm4lLr4VYSik0M2NT2wJMdtWI094pDK01D1f1ygBNztuWtq?= =?us-ascii?Q?Q2NG3klSzMjN8lQC49R4gpTv4MESI7MOdHAt6bJRcEAGN/jy9mSEmC/rWd9r?= =?us-ascii?Q?83q2SH9z4lSsqTTX3WFC77wVvSpSKCKpq3Cq61GRUKi2mW/x3RycmjcKuQ9p?= =?us-ascii?Q?gvsRhGX1wA3lgnHLe5ND4VVXH/eTBVBe++Rd1KyEny6DI8+l3TG4JBZP1D9z?= =?us-ascii?Q?P+vT0z5Dbq3/o+UeQL+TjzVx1iEL4FfB/YLYoAbOA1Ku4TI5nsccXZd6K5EK?= =?us-ascii?Q?J2iaZZz/NjaRkuocHV4veyP12vNG7sFX66SaZQY36bLzdAYbgCMa1TPSH0Ad?= =?us-ascii?Q?sUyLasPntsSpjBlK1KuyOiXj6otDE00Yql77TTz1jjsSjupT2tW1fQeT8Nu0?= =?us-ascii?Q?f6gM+ylexAdXRKoogu6ozP6mIK4fhpKfCnj+juX5/e6JX5U0CJmOzGFmvejX?= =?us-ascii?Q?9Zbs4f2dSj5BvMNayqKgBkM9N45Bm4WBUBe4jkXQg+AuHQSIKa2o+FKUlyOq?= =?us-ascii?Q?2gl+ckFDd1G/p6NgecnONwo2JDglb+c+X0edGqjw7nJKwtixf3spFJQz08OB?= =?us-ascii?Q?iYVoQ5g1hK+vzcrvxVuqlgR9aWAhhWT6R81kKy2E7H2xga0S4jyxxp7t/VZ6?= =?us-ascii?Q?n9/Hh5Tr2aojtIsX/LDCqGZNxrQwCF92irUVl2lUoPhDpJkGPait3s4tYLPS?= =?us-ascii?Q?BPzVP99Vs6wi6udjZrNcCYoaqbxbWxfodbKv278Fi/rj+50/2w=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR12MB9473.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(7416014)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ggX6FwuUybQk/mBjCdGIdnZlmUm+5voWV4IdpJhY4P51cF6diQTzTePuqfq+?= =?us-ascii?Q?6R49Z1+vsHIsA3xeiLiH4gRG/38G1XnMloZBFBeXpIUi/LkX9z+nPjWDfQGU?= =?us-ascii?Q?eCZZ0nAGRHC/lUKdxiTygDjfEj9XYX30zjO6k3bSbj4E38p0G/SeXwt7WLNq?= =?us-ascii?Q?uU9cIyQe0BI/j5kg9fC1J2jsYx8DJqGurx0mobxL3lOlH+V/gMVKWa1LeCBT?= =?us-ascii?Q?OPmCPVaIiFig2DtLAMfb9VuHgZLMw10n0pjsBbx873gtpNKY864Mrw2Xdvcl?= =?us-ascii?Q?L0aLB+Wmr0OsWr8Lgeect5J7lxFlX0APMfEIJ8CJ897Gzzsr/K1n+c0SHpTF?= =?us-ascii?Q?MYRtRNDXnSSf/OlL0Ec20ucjeIFR0INKuga9Nuegmc7NeROfczb/4CYyAsdf?= =?us-ascii?Q?slIaU3B3AMJ1Fl/WNWHxwNKM/C/y7O4QlDNixWyA+kznf/OojN1czAs3n3ix?= =?us-ascii?Q?aLvEPPyLbT/FR5q8AoGkoWaOHF5jb03pEcIiDgZ5zqf0zjYKx8MbQc1O0sH6?= =?us-ascii?Q?q9PD/3WSCNWRqAqixpS9KSGSWpOQ3Rt9j0QzlENXGFR2KHaNSGbMaddHvp3H?= =?us-ascii?Q?bNDQB0XWSElvAUgH+ooymq55/DlJpiQ05zRYN8bfRzm733SbgGQwrinmERFa?= =?us-ascii?Q?TcpHlUyJoXkNJzIFWoelrswRYN2H2VNYhZdKW+kXL/bjVHh7U6XeC47WLP8I?= =?us-ascii?Q?iltPHOrCz3LJSAlF8umekKaA3ImGUJmcBIoAn9Lzjgif+mIoE8Nuk3pydJoV?= =?us-ascii?Q?RO+JqfwhTzWrPK0FkDWlRPUvcY0+naHIV/1z3uvK2Q50PktvIscYlJQ4rC7r?= =?us-ascii?Q?Q+//kpISszLSItPnuqRHdIq2bQLRA4Ovmp1qGp1rYLeIRxQxFEspHFborO1h?= =?us-ascii?Q?TLHymG845Ttulvoz17L5n/m2Jf9ofb1M0WF2WaBxSAa1//xRomGVwPA5Vdi2?= =?us-ascii?Q?nXSGSVZUqwprYQfoHFx3r20VT9Zy6iX8+GB37e8oKPvhsqL7plYxKXwfKt+9?= =?us-ascii?Q?/qrkvZyJmiVNJCuM+6q0vCoSIisjf2hVPdjHhmK7FYq8vAFfAeeHoG8Z+E2v?= =?us-ascii?Q?R6o9A5LwfAEdX8Y/zCCSXjqlFvuHrFYNvtX7RnGt3gCQcd0qhwuDqWgLfK4V?= =?us-ascii?Q?b1lps0LKpE8ikxHN6Ih5pNAb5egXGHRSdOS7C/dOqSd9AMjvUiMAcjV5UrO/?= =?us-ascii?Q?JhFackUr1Bv5bOMUu28uZt2rMrbFzfyyCJyEVhQ3SJ6TXIwauI7ZZ8yn//zf?= =?us-ascii?Q?lajQXZvnKhNyBTXJ3ghiTfhLr1sT9cYMa66o7945aD5/x8j0pETlFOoknetM?= =?us-ascii?Q?9Bd4W9iH46HK7kMpPBUHGPIiMLl4OVPxu3VVV34Gb9GfpYxbbZr9VfkOpHPb?= =?us-ascii?Q?C7EpM2CmThtq5Gd+I5HCeKWk3ct/x1krMQta0nAr7UPqXHg+egOMmFVq8b1S?= =?us-ascii?Q?7WwFtXi2y/ogxVEGenvk+z67aRgS6GtGFnuh+UkHxJo00zrsTg2Imhwl8wqA?= =?us-ascii?Q?YagRzP2kRtXTKZSG6uBMIBhQC4ZBxDPfEsaHWKntOeqml8axTPiAAONXpeWh?= =?us-ascii?Q?8yw7iZjYc/g8Q52TrhKre1dmMuLYGCZtKDvhGxcJ?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 356d2c03-1e5a-47a5-554f-08ddc2ed6243 X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB9473.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2025 15:44:56.9521 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: NV1sCqdTLSzAFrAJEgOWcmA9tEfbduOipxqeCNGapSb+I4fsPOiUkPVtntoOCu3N X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8281 X-Stat-Signature: jmcx1epsosex7sg3n8euxtkdyqaryeme X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 4F18E1A0006 X-Rspam-User: X-HE-Tag: 1752507900-880472 X-HE-Meta: U2FsdGVkX19ksGDwUPUyjwp+4UPZqPQQtw1SteWVbTkOUQ0npVLj4MpFOFwzzobfYXU07lMB31Ih2aG/Ycx94ScZir00pdxgbOs8Dgkk21TfclPagcmb3Yf6oAuZ+NR7ke8/dLI711wxZ8SH57evvq0v82GOWtZ0ek4XF7GN2E1n5sq5Xpvq0GHiel4on+q+RImf365K/7UYkYYqzVQmh7WVM7nc57+q2TsYU6jxH5PeRcDDVHcwgqiGn4ATYAfgXLh/RdXrzfSc5PnUWgmNg4daOUaPKgxilTSVGvZJf5h47qJaouadyrRog56HFGq5eW0g/y2PrPkzW86PzOioyxAS6d0JamAwg40poHAl6sMtjs9dE/mV08xK/z655ZG3NlArAgMk7FvhBsJn1GferhqqbaJVmUzW5j9wBc1ABOfLzy0GxuwOK/X6YszCa/18ZgGqg+1UA6AEsv1ITp7+CyUZVSAwHmBrvh/5RzKG7zLydSpDqiyln5UlUwUYL8N6pD0359Hn++pkirOMS/4wJI4CFUtcTKYQc+JqLogwEbTCTQX1OvJR752askL3wjEdDOgLrdbG9x48hIWioFi6M92sYQbEHd6fVL/+rkiCyU+ipAUslP0u5fl9DmenqIgXkD3jWQ3ZgMHd/HxImcI8dknBTIDHo7j2ml+zrXE0VHXXBsPzkl3TRhNmCsWIqZkENmp7KH2FbtojDk0lgXkEkeppdq5fEcgCeRRDbJY16cuDahoXWv3xNlZDxdXITHat9R4IgdQF2PZN8yFbgQzCxpPveYWySSTXQ6oM9+5WrwHcgvoohQE+M6BNfPf8Sqqimjxi28Bn2nuIBEaxpGVliH0WYmC+7TMXit4JfC4LEINAsB1jw2+Yg3vDyTALrbOVMf5qsqdNpTMFHaaK6HTXbBqgD5egUMsyADioJt5wWyh1XldsjGwBjo6cDG6eoXWrLAAy3oy6iluU3HlGFX+ PbsphzP5 az2FRY+RIJy8DqQfbKIDCyf5vo6qJeyzYCQleEZ9D4Key4XPs1LU1kHcxZKK+laKhTQuBw4G/W5sJY74KgD0Dycovh82ejWCs7KdZF9NGkPjNi8NWryXmBPW2j+HvNlsbiKq2gHCSn1vzTpvAnFn2j3ZVmSkp+tQ3DmZlLTi/6UwFZDDxpro3XoDaDt7wUANGWyZ74f/SwbiSBaJl7FjagnIp0CmJdOsR2Mwl2zhFoPfBG7LHJo4JU3uiYwWp2kAWB+M9mrnsmXWgPRm2oOIOzqy8b8xbeb6eqjmCEwK+9kdpm3Ym80g0lEeJE4qLf1mviVgFAa6vUWtnRWbRoYBsNBWXlcML1bQauVEubVK5zkClyjGztcJSgfiz/qnOIprq0Jqg+dLs115ykXx0n9Qr0zeHVP8/tPgdkGStg31Eany9Aj49Qfy8DygYp7r5EhZi19W2/LxAKzL2dwA= 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: On 14 Jul 2025, at 11:33, David Hildenbrand wrote: > On 14.07.25 17:28, Zi Yan wrote: >> On 14 Jul 2025, at 11:25, Zi Yan wrote: >> >>> On 14 Jul 2025, at 11:14, David Hildenbrand wrote: >>> >>>> On 14.07.25 17:09, Pankaj Raghav (Samsung) wrote: >>>>>>>>> So we will need to take care of madvise cold or pageout case? >>>>>>>>> >>>>>>>>> Hi Matthew, Pankaj, and Luis, >>>>>>>>> >>>>>>>>> Is it possible to partially map a min-order folio in a fs with = LBS? Based on my >>>>>>>> >>>>>>>> Typically, FSs match the min order with the blocksize of the fil= esystem. >>>>>>>> As a filesystem block is the smallest unit of data that the file= system uses >>>>>>>> to store file data on the disk, we cannot partially map them. >>>>>>>> >>>>>>>> So if I understand your question correctly, the answer is no. >>>>>> >>>>>> I'm confused. Shouldn't this be trivially possible? >>>>>> >>>>> Hmm, maybe I misunderstood the question? >>>>> >>>>>> E.g., just mmap() a single page of such a file? Who would make tha= t fail? >>>>>> >>>>> >>>>> My point was, even if you try to mmap a single page of a file, page= >>>>> cache will read the whole block (that corresponds to min order foli= o). >>>>> >>>>> Technically we can mmap a single page of file, but FS will always r= ead >>>>> and write **at least** in min folio order chunks. >>>> >>>> Okay, so it can be partially mapped into page tables :) What happens= in the background (page cache management) is a different story >>> >>> David, thanks for getting to the bottom of this. >>> >>> OK. So we will see deadlock looping in madvise cold or pageout case. >>> I wonder how to proceed with this. Since the folio is seen as a whole= >>> by fs, it should be marked cold/paged out as a whole. Maybe we should= >>> skip the partially mapped region? >> >> Actually, it is skipped, since split_folio() bumps new_order to the mi= n >> order, and if the folio order is already at min order, split code retu= rn >> -EINVAL. This makes the madvise cold or pageout code move to the next >> address. > > But what if the folio order is 2x min_order etc? If folio order is greater than min_order, the code is suboptimal. It will first split the original folio to min_order, then loop through after-split folios. If the after-split ones are fully mapped, madvise ops will be performed. Otherwise, the code will try to split after-split ones again, fail, and end up with skipping the partially mapped range. An improvement can be done by skipping the folio if it is partially mapped and its order is already min_order. Something like: diff --git a/mm/madvise.c b/mm/madvise.c index e61e32b2cd91..545ab7920a81 100644 --- a/mm/madvise.c +++ b/mm/madvise.c @@ -499,6 +499,13 @@ static int madvise_cold_or_pageout_pte_range(pmd_t *= pmd, if (nr < folio_nr_pages(folio)) { int err; + /* + * Skip partially mapped folios that are + * already at their min order + */ + if (folio_order(folio) =3D=3D + min_order_for_split(folio)) + continue; if (folio_maybe_mapped_shared(folio)) continue; if (pageout_anon_only_filter && !folio_test_anon(folio)) Best Regards, Yan, Zi