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 086E3C3DA4A for ; Fri, 16 Aug 2024 22:09:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 726C78D00B7; Fri, 16 Aug 2024 18:09:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6D6858D0066; Fri, 16 Aug 2024 18:09:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 502368D00B7; Fri, 16 Aug 2024 18:09:55 -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 2CB298D0066 for ; Fri, 16 Aug 2024 18:09:55 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id CA30E80366 for ; Fri, 16 Aug 2024 22:09:54 +0000 (UTC) X-FDA: 82459501908.05.7382D4C Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2057.outbound.protection.outlook.com [40.107.237.57]) by imf12.hostedemail.com (Postfix) with ESMTP id 00EE640013 for ; Fri, 16 Aug 2024 22:09:51 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=ouZEMnWe; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf12.hostedemail.com: domain of ziy@nvidia.com designates 40.107.237.57 as permitted sender) smtp.mailfrom=ziy@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=1723846109; 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=MTYn94S1yWoxyb1AOgYiDzFgPwpVdhEAyd/v5zRFmSU=; b=gv+QG7j6e3bbL9O0OchN57wHAlPar4Z4uF3NFhp4kUsIb3MNy8YcvwTQdKUn0LqzB4+vKS RJmb2FNqoMbrrVztvRV1TorST2ksg3koESXegzgvdTdFBXGVkJd5a89yNDbdP8nVmORtVz KIMOlHoAHKmBv8g6B/BfRBaLlSEjd5Q= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1723846109; a=rsa-sha256; cv=pass; b=brQoTQ1jYdzCrmU5KwtO4yTpih6rBq6otf63cKEVgdPUy6SxLIlHNM6beKJYHV02/encqO 8aNI7wKxZMLLNg76kulVrjsXlhmKadwN93v8yh8rZmXqDFnLyPV9n/GXs3/kcb38xLHOBY h55Vocvj5D9X4sooRLWIInZ34LM3P28= ARC-Authentication-Results: i=2; imf12.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=ouZEMnWe; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf12.hostedemail.com: domain of ziy@nvidia.com designates 40.107.237.57 as permitted sender) smtp.mailfrom=ziy@nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=TF6shG55+DSC0iyLcRjs8SJ7Il/0w5XVePD7JP3OO2BR+bpXEwa11D4BKgE03uuRBzqCvw+oK3FoTZXoEAVJbHwYE5iixzwq7OWvS9rYtbkXAISh4RS1YijHxn7yO2Q3ZTZRkhNerpzGwjRp7+qeZcjjFThKzvTED2k9RE8BhWRQUExFgFLv+BckuC5fJ9QMAiGyQSyhAsX8FOeCjvpUuKUESScZ4fm8w+NYzMzHsk7gzZG5NVx/2loq9Db4GwcjdLg9MARR16WDZbi0/SEDPyEk9oqfmPvN+QlW+1Y1+0ReLK5fa1614wbqdK3vNDReKTaf5ZnmJq9YB3LPHw/New== 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=MTYn94S1yWoxyb1AOgYiDzFgPwpVdhEAyd/v5zRFmSU=; b=CUPzKZ0JdWpZgAURGAkhrRKfscZzzH295qekqTl/tEFkN51hNv8dcrXE9VzXn4DTVUMKpGq6Q5Fs1I8Lpq41Up0nzuNWJ4VENnpHpUcQhW/2vl1UaNXNRJxAgR233DdpGHfudVCHlKdJWM6XDlEI1qaWOdKjdBZsxx7ip5AZUWy56TAgAoRvDP+TqFlL6HKB+QUerAMY/SHdiZWBL7+CW98QZCWlGot9FUgJ4Vytk3MxoVt11h7X98QvIRz33uMjYpNtfcAO3s9yIN+HZulPYfmPz3zLEK0biMalxrOQ9a85tsRabrIhAhY0YrfYZEHNHqKaKraFwope3ks6Kwfx5A== 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=MTYn94S1yWoxyb1AOgYiDzFgPwpVdhEAyd/v5zRFmSU=; b=ouZEMnWeBph35z4YafIzYOZ+gic/iytOUxGEU6e+70ZUccujRBMJB6d72rIj2uCtzpIoqN5TCdbEddOBdxaaON/ZvgOdvxHtgziBcAW628jstySRBAKlapU2fp/XZ8gXDzUJli8dSYcDwCvpAADWwTB+ZJaFR7jwglH1ix53JjCFfr/iEmlVswIPuntl+Em+DBgt49SkOrdTVexacGwPs5yM3m4kQYGsIvlQ9YtX8dfY+ZmKMA2HhR45H+1XkPe6zbHLZWIJ/jP/UhQ46khvkK1yiweBZwO0/TyF8PaiDmrk4kvX/sjAyCxF6Nj8Cg07LgQr/P7j9AZgVIVJ4nF6fQ== Received: from CYXPR12MB9320.namprd12.prod.outlook.com (2603:10b6:930:e6::9) by MN0PR12MB5833.namprd12.prod.outlook.com (2603:10b6:208:378::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7849.22; Fri, 16 Aug 2024 22:09:48 +0000 Received: from CYXPR12MB9320.namprd12.prod.outlook.com ([fe80::9347:9720:e1df:bb5f]) by CYXPR12MB9320.namprd12.prod.outlook.com ([fe80::9347:9720:e1df:bb5f%4]) with mapi id 15.20.7875.016; Fri, 16 Aug 2024 22:09:48 +0000 From: Zi Yan To: David Hildenbrand Cc: Kefeng Wang , Andrew Morton , Oscar Salvador , linux-mm@kvack.org, Matthew Wilcox Subject: Re: [PATCH] mm: remove migration for HugePage in isolate_single_pageblock() Date: Fri, 16 Aug 2024 18:09:44 -0400 X-Mailer: MailMate (1.14r6059) Message-ID: In-Reply-To: <29d190d9-6b1a-409b-b3a1-90539ddbc091@redhat.com> References: <20240816040625.650053-1-wangkefeng.wang@huawei.com> <29d190d9-6b1a-409b-b3a1-90539ddbc091@redhat.com> Content-Type: multipart/signed; boundary="=_MailMate_9D267C37-0752-402B-AD42-8BA69DED962B_="; micalg=pgp-sha512; protocol="application/pgp-signature" X-ClientProxiedBy: BL0PR02CA0139.namprd02.prod.outlook.com (2603:10b6:208:35::44) To CYXPR12MB9320.namprd12.prod.outlook.com (2603:10b6:930:e6::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CYXPR12MB9320:EE_|MN0PR12MB5833:EE_ X-MS-Office365-Filtering-Correlation-Id: 54d3b8d9-084b-4402-0eb8-08dcbe40248d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?utf-8?B?OUp3aW96ZlRESmFOK2FOQ2MzVmc3YStxVGsrbG9JTTJpRmh5MnJVMzBFRmo3?= =?utf-8?B?L1pyNFQ2NitscE1sT2JlRnM4bHgwK2pndFRyblFxakprelR6eVYzTldYWDBl?= =?utf-8?B?ZEdrRVZ2Y3ZRSyt1cjBLY2g4UFRhMnFlZUNhQzBZcnFjUlFiNHF3cHNCcGM4?= =?utf-8?B?M01nanZ0aC9TYndsVWVNdEExc3hES0JqK28wa2ZEdWkwa0ZZMFNRYzNxYmsy?= =?utf-8?B?RGVpMGtZdUc4elVaSUpFaTIvZTh1eWUrZUgyaVF0RXBHeHcwakhzMnBkV2Rx?= =?utf-8?B?Z1VUTmRlcFBkZjl2OUpmYlh1WHdNdG85ZytlSnNMdXQ1aDZMM2dKU1d5RDdX?= =?utf-8?B?YW94S2ZiVWo2K2JIeU5HdW1zQlJvZ080THR6Y29mbVYvTmw2aEk1Ymw2eHZC?= =?utf-8?B?OTRkbTNUZW5Pck1UV0p5a3hpZVFtK2ZIWCtlU3NOdzYzRHZJamNEKzZvU3Mw?= =?utf-8?B?cFQrVHVXSGxqSkphL2hNbUlrRjIrczdqVno5Unc2UGhhL3RHb2lSS0ZhVkN2?= =?utf-8?B?VnR4aVROdll1WG5WL2JtMm5NbzFjVDdwU0V0ZFU1WUVVSU1lZnJ4L2VVei81?= =?utf-8?B?NkFySEh5d1czR3JzNUUraEdlLzBnUkxCaE4xK3lRbVlVc0cxdlQ5NytiVG04?= =?utf-8?B?THlBYU9yL3o4aW1JTXlkT3JiUWtmNENaNmVReFd4SU45S0FBYlhmK3pTNXRm?= =?utf-8?B?YkpNVmdueGt5WEFGbWhaMzhPamxKWk1adndDTXZ4UUwvdkZRaDl1c2dEVHZT?= =?utf-8?B?aHlrUVBJYTd4eFo4ZTg0VG9SalFrWUlQTkdJL0kyZjh2L0ovRFl6YzlTdVM0?= =?utf-8?B?bCt6WUtxNVp2VmdQTEUzTXVDeUI5NlhIQzB6eVBFY3BLNDRyZlpYUUZmNEhZ?= =?utf-8?B?Nzl6aDh5ZkFyOG95a1BPcFJsTTdreXk4Kzc5RHRYajBqcHFSRGUrb3A0aWdO?= =?utf-8?B?WjloelJHV1ZqYWdLTVFRMGZxa3I0R1FQR0hDRkg2eHpRNTJXNDRjQVNsTndM?= =?utf-8?B?MUY1WUZlZHd3UlZ5TjdBZCtsWkoxb1ZnUGhyVC9Rb0hJUXR4TVg4eGJ4bXhP?= =?utf-8?B?MzArSnVFOGlVK0dvZlQzUkg3WWx4SE8rSm44QW9sSnBXcEdqc3VwdjVLdEhP?= =?utf-8?B?WHJZc2JDOUh0b2lqNlNTdEJGT3hGWnlVUlEvWFRNQURyODlxZ0o2TmxsbnVO?= =?utf-8?B?eEpXWmF2ZzgzeUZJYVRnekZ6UEYzcWRsT0c5WTR2d0dsaFNZaUcrM3NIVkFL?= =?utf-8?B?Y3hsSU9tZ3Z5NGVkWTI0Wkh4NEhiSVh0Ym9UNC8yd1RjZEdidGV6WTI3R05y?= =?utf-8?B?ZmpUU0V5OHkzREFoUjhJTWRvcVJER1JZWkowT28yRjJhS3BYbWxjMFQ3Nk5V?= =?utf-8?B?Z0RBTjBaclZGT0dpRDMzWnY5UWxxRWdtYmpSTHFQRW9FeU9LcjFvdkZQelB0?= =?utf-8?B?SDJmM3VVTUVFV1NqRi9GdHQxZmswS08xWjF4TVZUSHFaQi9OU2dQbHRzOHhz?= =?utf-8?B?TWpxVG9Tbmd5RUtPOXlWc1hGM0F6OUJXbk04blNheC84NEE3TU9CclM4ZGlz?= =?utf-8?B?a0VrMzJud2lrRHlySCt0aHl6bTQ2ajdncjFRT3BSa2xvTk5mcnNxNitJMktp?= =?utf-8?B?WTVEWFJoVW0xY2J3bjllZEppY0RUMkI2aUhJYzdkdDNFR08wSFljcmVJdXNs?= =?utf-8?B?S3dFUEJBRStPNmE1ZVVRQXVlSDVVaWMyZ2kxZkYzYlY0dEZaOXJUeG5nMFVz?= =?utf-8?B?cDVWcW9BeVd5OTUvQVVZclBaeXJZWDUxTGFiVC9FZmgrV21EYisyRlRjNTc1?= =?utf-8?B?d25jUEJtbjZWVG1ObzUwUT09?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CYXPR12MB9320.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?OUh6aDhubERXeGp3TjU0N21OT2gwdytiZ3N3TmJ3a2psTDVtUGpTVS9ZNXUv?= =?utf-8?B?c3I1bUZicXBJWUh5TVROWE0yQWczeXc1b3dwZHU4YitPTVBjUzEwYk9UaXpl?= =?utf-8?B?MkhDbHMza20vYjlGblN2V3ZOT29RSWtXNFRDU2JtL0lmWXFFeFQzNlJVZ0tH?= =?utf-8?B?RFB1YkZQM3ZXNWRUNkVnUVJ5ZXdMUEw3dDFoZVBSOGptdHlyQTlUbmNueHoz?= =?utf-8?B?V3NYUEU0UnZ6T1hoYXlLQ21GK2ZKZlQwQVZnUEI2bWs2emZjQmwzaVJPK3c0?= =?utf-8?B?ZkJJT0cvSVdHQ3BELzdTSitKMTVBTElGQXVyU1ordFkybUhqYkg2dGNPS2Ji?= =?utf-8?B?aWc5NFZsZjNXUU1URU1EMC9mTDBMS21oNFBhRlB5dWZlMlZ0UEUycUlxdkZP?= =?utf-8?B?V3J6K1hkbDQ3a0t3ZFptbmoxNDhLR0g4QXhQRWpYVWtYa2oxL2RFQjRiLzFv?= =?utf-8?B?bkM2aTNRdzJRZjVVTmJlVEJ3dkg1QlFqc1VOQWhKZ3dPck5Hb05uRkJrdSs3?= =?utf-8?B?VUs2UDk3b2tXamxKYWF0QmlkT1hIak8xYkxYNXp1VGhoRm90a1lDandUQmZN?= =?utf-8?B?V0tvQ25JYzJCaldoNnUwczAzVTBITWpMS3pGeFgzN3o1SXozUDhUTlBtNTk1?= =?utf-8?B?S3pIU2RjMXBGaU5HS0hTVFlYakpqQ2xYWG1QdVY4MjJzSHl5aXBNdzVDdTM3?= =?utf-8?B?b2l3anRObHhCRWdnT0NKRzczNk5NSldsS1JsNDRZeVp4MG5XT0dYak51Wklk?= =?utf-8?B?N2xtT2xlQUlNdzZhemFGMXZuQ2doTVh4TmRvQjR4TzNvc0hwamlubnBoL202?= =?utf-8?B?VUsyc2IwcjA5azZFVWs5bVdsLzRSZnE1YVllTVRMbVUxbUh2amtmU0hzQzMz?= =?utf-8?B?aFZhKzJmRVZhclI1ajl4UE1GQnRYS2tLRW0rNW5mYVBqZTh1VGQzOVhjcVVm?= =?utf-8?B?YTVXdVVHT0NpeEh4THE3RHlpTjdhTE9vUW56MytuQ2hEM3pzVVpUM2IxYTM5?= =?utf-8?B?WlhuR1REVzgydFFDejJrVlJzUHJKK1ZoYlRrS0FqMnZSTzl3TlB5R1lydndM?= =?utf-8?B?WTlKVFlJeWtGbHY5b1RDZUswOTVXTThhc2ZudEpwWUtCMzRtaFJodFdJRm51?= =?utf-8?B?WnNKalpra3JSTG8rQjZBK3JLaG9ob3pXSkZodUp4UDlSNkR1ZE9LTkRBaW95?= =?utf-8?B?SUQ0STNublZQWUYvOTdJS0ZUMk81aCtXVDRwOVZDTVQxeHczZzhkM3FYN2hw?= =?utf-8?B?RGl4a3JJVWU2OHpRb2F3QVZmRzRoNXZZQ29tbVpzM052cGxhNVp0MkdZUnJO?= =?utf-8?B?TDBrcTljUmVWUHV5K3hEdmM1Z2h5VVV4eVNGbDJneFB3bEZRM1hwdzZyZEJo?= =?utf-8?B?L0J1TDdHQVBmNmdjODhOTlgwZWRIc0xyRWNkZnIrSVBWWHF0MVh5Ymw1aWY5?= =?utf-8?B?YW5VTEFEYjhaYklBMy9ORnVRUWpzREdXTWc2ei9TRFlaQS9DMXZKd25FQld4?= =?utf-8?B?RU8ya3hBVkRVYWRKRE1GSWVvdjAxNlkzeE1od2MxU0ZkSkRQMVR6NlpGcDhF?= =?utf-8?B?NHNlMU9EemU1YzVramtHdzltZkR1UG9LSDVYWFdoL01sTVFTVGhnUHBjeFVZ?= =?utf-8?B?WHJCbnd6VHRSd1B2NmtDTHlhR1RUYUkwY3VPbGwvWGRBUWg3REVob0VJdkFr?= =?utf-8?B?SGVPc1JnNXpKWWs0ZnBPMFRBZ2ZCUWdzSlVqdi82TWRJVGJjK21wRU15M3Zk?= =?utf-8?B?R0hReDJ5c0JWNmQ3emZtYzhDWVgzUWhpODhrc1B5aXdpclJ0OG1TWVpLaFFj?= =?utf-8?B?S0ljckFsU3JpV292L25SbDZQbmtuWEFpUHptb0VwdGpiOWFOOVJzWVl6MkEv?= =?utf-8?B?dDR2Z2hHdTNPWHRPNUhiVk1mQ3d4WDNuL2lRUDlJL29uWmZvRW1pa1dsNzNS?= =?utf-8?B?SnQ0eVB2QmV2cFBiZ29FYlZXaU9yTEVvS3RwQkFpenNwaEdubUFHZStLa2NH?= =?utf-8?B?dHVEREtHa2dvb1UyNlJ1Z3BqUFVXSzdUOVhiN29haWJwazZWNlNLY25iN1Qw?= =?utf-8?B?S3FWdldVVm9LR0pqTkhBdmkzVW56ZlloOVA2U3pKRm5JVGJZZ2h6c1ZoVk1D?= =?utf-8?Q?Xcjr7e7/19MD+dI3o/pM6AuQH?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 54d3b8d9-084b-4402-0eb8-08dcbe40248d X-MS-Exchange-CrossTenant-AuthSource: CYXPR12MB9320.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2024 22:09:48.1131 (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: ykNElOi18nb2mcLWj53+73UGVOu/IvgwhabMSxSq1lA9C7HIN2NtdZorzYXf+Q07 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB5833 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 00EE640013 X-Stat-Signature: iyqpmpw5ku98fot637m8hrkt1mkjfyy4 X-Rspam-User: X-HE-Tag: 1723846191-497343 X-HE-Meta: U2FsdGVkX19FVtSZrfw61aN/KtmdPbF7KUzKIDVAuOaaNuICLbLKzUqewbq1F1X24gcmBxoVw4+7rcadx0yGmBpaKeTBD/sCIjZxloB/a4AUgz6HOI1Zi+14D/gFq6G/wM/uKW2vjKNaiETKTxWTjJt+KEiadz820pfjRtpCKUhp8FXL3AS+5GgCEJGUjTc0f3bTo1OMtgnk9pOGrw2XkpHqrw6HbpJ2WCggvg+smeYjOwOoYJw3xMGSGbMmfbo6D/WDrQ4pcwGKg3ipicX36e+8qCMeWZMpum+Dk3Pn/qSYkjbW+LD6LwLoAeXCdrlOYlo6G7fZwQHQHLt+8fPoqqnO22ziUQVjBWawQ0QeotCYMgh6x7amNHWyHE4KXadlEeevoip+TLplJvsBu/ZYJIgUKZK3IOY0pZdVbeL0QJIDOyh/lo7V39mDqKr5mjHX7U/FYGRIXp1iE1rktPtMHiL18CMJP9W1wiANbwlbdB9hmHabNPNVqtH3SpjUlnNRrXhW64ANUzqvuDZWfDrXTmRzQOPlptjETMwHiMQFlMl26QMTCg7ANJDv6XKajC+gRHdrP4rVkfD5Wb2EO1lZZz90kQadfMG9mlOqvtNEIL4u7x4DA3IZ1J577GsS4vUtEnrlLHEgEODLyWnINriOTBy9ecVuj5h8jTQVdCNHMJ4ttv9HwlaoppgyPImDYjFCiRU7WAsHLcju2aT9nCBGkF7HkaiEDjLF/6L2/h9R0Pt9r210yjqbM60Rnxhuf2kSZzQgH5gPk36b1tnH9RlqBm8tfQbECEUaPKPkkhxKHs8FNXsPtuj+7rQTWKUCMbufSgZ7cPB3Lc2LJEuHQMvsNe4OKLEhUF3R711vpaR8z72VYcfLG2pdEX0QSPHDkLzzrVUTRrogvaME2hG1vmUMWx0Qxb4mBHa9lcy3x0saO7lCpnunTR+gbsE+ag2wRg37rmoOO5dldTjNS5Y1Vjw XGN2j0b5 LGpuX7PG1DoMtpck8qbEanr68eLwPS5b2m+KljZ5Nq04A/TERXDteRxdlvyZJCKsCiG/tmW7lxkQ00r4S91ZdSBFdtrCSZFijJVlP3o/HhOiyK39ZVkIB7n1gjYosGaKgjrxBdsEon0cXBa0rx05P2KIEAvAjZSXKtSCxhGHrY+ceEVrKgpTPh8wc3osqK0h7empkA/asDPD5XyEzyA49y9XhA+b2c+fRCsKaHF3GJUNQy62PQTYnkMcvmOwWOVdm7PhA8+bIcc8QkfwuIEDmnKEwTXnS7pXJ0riB+zp/vqp0zwmsLhO3prJQaYyYVEbJ4CmbMZsiUQppop5AZQWi+DOpe39CqvpazJkpjVzO5G6sXhKekKJevMOXlRG6K/4cyAZ23X8x8Z/75OVnZV70d34xAjb7lLjU5g78ZSEL0bO3eqkG/SfmI5ac77HSfmWxjmMFmQkEc82RSYAVtXTOBp72WO4sKa9Y4vKwieKOeKy+Gty1WUXGyk8pf2LOlgpEXOBiWTdfQhcF7gXaCCmZl+eJwSlFlZ1BGoOV 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: --=_MailMate_9D267C37-0752-402B-AD42-8BA69DED962B_= Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 16 Aug 2024, at 16:12, David Hildenbrand wrote: > On 16.08.24 17:06, Zi Yan wrote: >> On 16 Aug 2024, at 7:30, Kefeng Wang wrote: >> >>> On 2024/8/16 18:11, David Hildenbrand wrote: >>>> On 16.08.24 06:06, Kefeng Wang wrote: >>>>> The gigantic page size may larger than memory block size, so memory= >>>>> offline always fails in this case after commit b2c9e2fbba32 ("mm: m= ake >>>>> alloc_contig_range work at pageblock granularity"), >>>>> >>>>> offline_pages >>>>> =C2=A0=C2=A0 start_isolate_page_range >>>>> =C2=A0=C2=A0=C2=A0=C2=A0 start_isolate_page_range(isolate_before=3D= true) >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 isolate [isolate_start, isola= te_start + pageblock_nr_pages) >>>>> =C2=A0=C2=A0=C2=A0=C2=A0 start_isolate_page_range(isolate_before=3D= false) >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 isolate [isolate_end - pagebl= ock_nr_pages, isolate_end) pageblock >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= __alloc_contig_migrate_range >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 isola= te_migratepages_range >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 isolate_migratepages_block >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 isolate_or_dissolve_huge_page >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (hstate_is_gigantic(h)) >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return -ENOMEM; >>>>> >>>>> In fact, we don't need to migrate page in page range isolation, for= >>>>> memory offline path, there is do_migrate_range() to move the pages.= >>>>> For contig allocation, there is another __alloc_contig_migrate_rang= e() >>>>> after isolation to migrate the pages. So fix issue by skipping the >>>>> __alloc_contig_migrate_range() in isolate_single_pageblock(). >>>>> >>>>> Fixes: b2c9e2fbba32 ("mm: make alloc_contig_range work at pageblock= granularity") >>>>> Signed-off-by: Kefeng Wang >>>>> --- >>>>> =C2=A0 mm/page_isolation.c | 28 +++------------------------- >>>>> =C2=A0 1 file changed, 3 insertions(+), 25 deletions(-) >>>>> >>>>> diff --git a/mm/page_isolation.c b/mm/page_isolation.c >>>>> index 39fb8c07aeb7..7e04047977cf 100644 >>>>> --- a/mm/page_isolation.c >>>>> +++ b/mm/page_isolation.c >>>>> @@ -403,30 +403,8 @@ static int isolate_single_pageblock(unsigned l= ong boundary_pfn, int flags, >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 unsigned long head_pfn =3D page_to_pfn(head); >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 unsigned long nr_pages =3D compound_nr(head); >>>>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= if (head_pfn + nr_pages <=3D boundary_pfn) { >>>>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 pfn =3D head_pfn + nr_pages; >>>>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 continue; >>>>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= } >>>>> - >>>>> -#if defined CONFIG_COMPACTION || defined CONFIG_CMA >>>>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= if (PageHuge(page)) { >>>>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 int page_mt =3D get_pageblock_migratetype(page);= >>>>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 struct compact_control cc =3D { >>>>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 .nr_migratepages =3D 0, >>>>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 .order =3D -1, >>>>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 .zone =3D page_zone(pfn_= to_page(head_pfn)), >>>>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 .mode =3D MIGRATE_SYNC, >>>>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 .ignore_skip_hint =3D tr= ue, >>>>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 .no_set_skip_hint =3D tr= ue, >>>>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 .gfp_mask =3D gfp_flags,= >>>>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 .alloc_contig =3D true, >>>>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 }; >>>>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 INIT_LIST_HEAD(&cc.migratepages); >>>>> - >>>>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 ret =3D __alloc_contig_migrate_range(&cc, head_p= fn, >>>>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 head_pfn + nr_pages, page_mt); >>>>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 if (ret) >>>>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 goto failed; >>>> >>>> But won't this break alloc_contig_range() then? I would have expecte= d that you have to special-case here on the migration reason (MEMORY_OFFL= INE). >>>> >>> >>> Yes, this is what I did in rfc, only skip migration for offline path.= >>> but Zi Yan suggested to remove migration totally[1] >>> >>> [1] https://lore.kernel.org/linux-mm/50FEEE33-49CA-48B5-B4C5-964F1BE2= 5D43@nvidia.com/ >>> >>>> I remember some dirty details when we're trying to allcoate with a s= ingle pageblock for alloc_contig_range(). >> >> Most likely I was overthinking about the situation back then. I though= t > > I'm more than happy if we can remove that code here :) > >> PageHuge, PageLRU, and __PageMovable all can be bigger than a pagebloc= k, >> but in reality only PageHuge can and the gigantic PageHuge is freed as= >> order-0. > > Does that still hold with Yu's patches to allocate/free gigantic pages = from CMA using compound pages that are on the list (and likely already in= mm-unstable)? I did not look at the freeing path of that patchset. As th= e buddy doesn't understand anything larger than MAX_ORDER, I would assume= that we are fine. > > I assume the real issue is when we have a movable allocation (folio) th= at spans multiple pageblocks. For example, when MAX_ORDER is large than a= single pageblock, like it is on x86. > > Besides gigantic pages, I wonder if that can happen. Likely currently r= eally only with hugetlb. It is still OK after I checked Yu=E2=80=99s patch. The patch uses split_l= arge_buddy() to free pages in pageblock granularity. That prevents pageblocks with dif= ferent migratetypes being merged. > > > This means MIGRATE_ISOLATE pageblocks will get to the right >> free list after __alloc_contig_migrate_range(), the one after >> start_isolate_page_range(). >> >> David, I know we do not have cross-pageblock PageLRU yet (wait until >> someone adds PMD-level mTHP). But I am not sure about __PageMovable, >> even if you and Johannes told me that __PageMovable has no compound pa= ge. > > I think it's all order-0. Likely we should sanity check that somewhere = (when setting a folio-page movable?). > > For example, the vmware balloon handles 2M pages differently than 4k pa= ges. Only the latter is movable. Got it. > >> I wonder what are the use cases for __PageMovable. Is it possible for >> a driver to mark its cross-pageblock page __PageMovable and provide >> ->isolate_page and ->migratepage in its struct address_space_operation= s? >> Or it is unsupported, so I should not need to worry about it. > > I never tried. We should document and enforce/sanity check that it only= works with order-0 for now. I tried when I was developing the commit b2c9e2fbba32 ("mm: make alloc_co= ntig_range work at pageblock granularity") and it worked (see https://github.com/x-y= -z/kernel-modules/blob/pageblock_test/pref-test.c#L52). That led to the c= omplicated code in isolate_single_pageblock(). > >> >>>> >>>> Note that memory offlining always covers pageblocks large than MAX_O= RDER chunks (which implies full pageblocks) but alloc_contig_range() + CM= A might only cover (parts of) single pageblocks. >>>> >>>> Hoping Zi Yan can review :) >> >> At the moment, I think this is the right clean up. > > I think we want to have some way to catch when it changes. For example,= can we warn if we find a LRU folio here that is large than a single page= block? Definitely. We already have VM_WARN_ON_ONCE_PAGE(PageLRU(page), page); VM_WARN_ON_ONCE_PAGE(__PageMovable(page), page); when last time Johannes did the clean up. I agree that we will need some WARN_ON_ONCE in __SetPageMovable to check if any compound page is passed in. For > pageblock_order PageLRU, maybe a check in __folio_rmap_sanity_check= s()? > > Also, I think we have to document why it works with hugetlb gigantic fo= lios / large CMA allocations somewhere (the order-0 stuff you note above)= =2E Maybe as part of this changelog. I agree. Best Regards, Yan, Zi --=_MailMate_9D267C37-0752-402B-AD42-8BA69DED962B_= Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- iQJDBAEBCgAtFiEEh7yFAW3gwjwQ4C9anbJR82th+ooFAma/zigPHHppeUBudmlk aWEuY29tAAoJEJ2yUfNrYfqKOCkP/2n73ru4YlecN9H0c+7qFEenTEuJ5UUhoxQP 3X+tIcWy1pw0R7D0yB+rBZ9luFpzYsaqC4GgwFGG1ldrYOolkTIGFw38lkbc14/q ATUeE53XQ/iIkJAPIWTJZmMrcBxcTLxNUeWpxhHX76TYHJeP+8mr/CJmaVHoUMTg 9vDfLNqVpDu7UJNnffbAG8gh1fFzpQiEfwn0cmWqEKUKIGyBeGbgq0DcLVr8rP8a 7+A2mS3terW7THVehY9IhrT29Tt8OJ9EK36Mbe6cUrL8KLSYedOIwNag3gHnmZzI b9FwZxGOKyN2Kxf9w7VVV3nS1jeS2hD80EkvfCo01mFGMdvtlQGC+8R6VZA7pdJf p+PvvidanC0NVVLJ8HoVPIfQ8XKuhBfw2XO80mAY+faLLDWUpKUOPQuDZGszJCBR T+ZXtvJGYkmRJyIwkwaGq5g5Te1bl0f3mhX0NhuZOHYiq2H2n83+tn4X/QFaO/kS 97yovjek8/lyt6UD7dsAer+CsssB/pxiv7d+KTyEkxe2gSlvj2vXPKU/3zVuYjEm 7+ZQ9F9nahVRd01psMTj5kfxKfUk/ft9p4FwzIaaCthRPXdVwS+vWEivqRhLXaIc 3Kc2OUn6fVYXYaIWMfoKUhEx69YiNqP6DGNWJ+lmUO33j8hm+C5408+snE0RY1OK jOHTPRd/ =hO4E -----END PGP SIGNATURE----- --=_MailMate_9D267C37-0752-402B-AD42-8BA69DED962B_=--