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 0AD3FC3DA4A for ; Fri, 16 Aug 2024 15:06:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6DAB98D0085; Fri, 16 Aug 2024 11:06:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 68A478D007E; Fri, 16 Aug 2024 11:06:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4DCF38D0085; Fri, 16 Aug 2024 11:06:37 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 291678D007E for ; Fri, 16 Aug 2024 11:06:37 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id A6BCB1A1C0D for ; Fri, 16 Aug 2024 15:06:36 +0000 (UTC) X-FDA: 82458435192.10.750E089 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2067.outbound.protection.outlook.com [40.107.92.67]) by imf28.hostedemail.com (Postfix) with ESMTP id ACEACC0009 for ; Fri, 16 Aug 2024 15:06:33 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=ArjuOSYi; spf=pass (imf28.hostedemail.com: domain of ziy@nvidia.com designates 40.107.92.67 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=1723820756; a=rsa-sha256; cv=pass; b=C+W7yUIzu8uHx8ym1SKzzyrTRgtA5+KnMyp2dV39uprLhEngqOeyhXMm65PbWyfpDuro50 lrwVGNnjx0RUynZLFfDRhdyZvXE5B2q7igjhFz2K/CGtPNrpnnbANAk/qH/NjRT5RzSsKB uCCj9mO3fDKB/0GNmcBgI54ce7xwHg0= ARC-Authentication-Results: i=2; imf28.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=ArjuOSYi; spf=pass (imf28.hostedemail.com: domain of ziy@nvidia.com designates 40.107.92.67 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=1723820756; 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=/+WitCARcBdLjscHkNbza5bhXb3AL4vM66D1sAHdEok=; b=OHRnnq9OPeszPnFBH00q7+GtO67k5Zq6L1XLdLnolGUUYxK//fYRLTPCXM5nBzwVqzlMEN pWYdm8+x/trJdHRQWAur+lJ3Xtu8TTA7Mcr4FuFte0cWU2SSsini4BCCs2++HtSRYl1zTl YCGWbfSFVjZ4hDxMJIH8OZx+hZVqWbY= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GF6nONHbWs4m5Pog59KuOHzd6VanKKedaejHUhdvnNpU6RQIwPafiqgXeluZKY6cPS84EIkqYD18JXx5DD744kGRkshFDCLXAk4qgH9P91jFdI+BNN1a4I2PLqGml+WXU9DEn/zmrEzpumZGHsspqBd+znBVE8P4ksUK2Z7VWbzK7GL8pDba2kTDonJw38+mRobZ+8WXrT+++83aCHFTvdm3Ui5kQD1ayt3H+FGUVE8J6MQowaaa0IOTmExvP49C2WaTj7t7A4AnMlwdqKjkWkCWse5AZHpYL88hCMDlomo7e/KR9NW6tKjN8ENSdtOQCmlPsERmvEXFlH566ggSvg== 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=/+WitCARcBdLjscHkNbza5bhXb3AL4vM66D1sAHdEok=; b=tHMm7npUjjuwJMuOxYhFzqGyNMGQHsQ3hJttz7+tOUklPlVV6bIDrbfVOV9FvTFqdfBZnPu2SPMX9oLyB/4amNIMTTuxslovruq6uIjPIEhoWKjFQIm4aOMXVuGYRCk4eZTqH4urtWhUHLHCqqGNq0SLSebYeLksQfqIdIPEng9BLm8SNmRGkxGn/H2n3esP1tfZwK1eqnv0W/9cyFHlj42FccSz6pMjLFLS0g0eae0j3yHqNXESdWJMbuv0KfvxwljjhyVq9kSSbtDhCRBk1PVwgtT5HZKdrncTivd6pgOUdciHnpdyayrtJnflkzdz9lUJ/F6sDkHgS1I/PdukoA== 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=/+WitCARcBdLjscHkNbza5bhXb3AL4vM66D1sAHdEok=; b=ArjuOSYihNHNdNDvfdIxVwCtqksEewOCxCT3UMOmqlscs2FDt8rlTveiSKtWG4uy2zR5h20dgX5sWga7e4o+g53EYnFZJFsM9+uU1g/rm6myBh/kbwTGAI2m1K8ZRitavoIav525euIisfuImvvk3TDt9Lgt9Vkydu2cPpX+u8f4kp1Syt2asiM1yOWFJiGgG3Afo9PqiThyJ6hLVpXouM2aECFGmw1xwMh4bACtXv1HhZfgmmv9BooSyewAXNF8sqsESASPs0ug0Tg6IfuaXW1eb+XQa0vRfyZ7l9+10tDDr9Tq1qg0DEIdWIbheplrbYfMgiPoE2LivEkSFhwWZQ== Received: from CYXPR12MB9320.namprd12.prod.outlook.com (2603:10b6:930:e6::9) by SJ0PR12MB6710.namprd12.prod.outlook.com (2603:10b6:a03:44c::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7875.19; Fri, 16 Aug 2024 15:06:29 +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 15:06:29 +0000 From: Zi Yan To: Kefeng Wang , David Hildenbrand Cc: 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 11:06:25 -0400 X-Mailer: MailMate (1.14r6059) Message-ID: In-Reply-To: References: <20240816040625.650053-1-wangkefeng.wang@huawei.com> Content-Type: multipart/signed; boundary="=_MailMate_145386FF-535C-46BD-B018-56D56FFE1A4A_="; micalg=pgp-sha512; protocol="application/pgp-signature" X-ClientProxiedBy: BL1PR13CA0320.namprd13.prod.outlook.com (2603:10b6:208:2c1::25) To CYXPR12MB9320.namprd12.prod.outlook.com (2603:10b6:930:e6::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CYXPR12MB9320:EE_|SJ0PR12MB6710:EE_ X-MS-Office365-Filtering-Correlation-Id: 3478adc8-e2e8-4a91-6702-08dcbe0501a6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?B?aVdzYWgwVG9xaERwWVJtRU9hR1FGVFBzVlpqdFptbnpIWkY1TXYyaHRKMzly?= =?utf-8?B?dXZ5UWJOQ2ZMMTlidUVqQXBFbE1lOUx5RFZ5R2VFYWZyZ2dnSEdEWDlqeUhH?= =?utf-8?B?VzJMZXZReHlkZldHb0NkY05nOVZpVUNyZmNPbzRab3Z1YXhLdTZ5SXRpU2Qz?= =?utf-8?B?dkN3d1I5Q0VlQTFnK09mYVdBbUFTc2kxNnRxT3hTR0g3UU00NXRUYlVyNjhX?= =?utf-8?B?UDVaREhlUTUxTEszSHFySk5FQWNWdkUra0JYQUpNVVRpb1ZnTHZlaXEzVHFs?= =?utf-8?B?MGcwcVhxWE4zUE1jR0sxWm00STBLcEQ2K0pETXdFR01PR0VuQzJZWGdMWkl2?= =?utf-8?B?MXBpM3d5VkxvMUhKalhKYWZ4NE1QZ2RuTTI3blNRQWFxVFFXVGVqbTdnV0tm?= =?utf-8?B?V3Brd3ZqQ1crTnhxNnlDaW4za09FVStsN29PZ3ZHK0xzSDdPZ3ZLNGhvaWRP?= =?utf-8?B?Y2NuZ1REUXZpUEJIdWNXYVBPQitVcklXa3hnVVlKWVN1RTRSRHpNNS9pd2Yy?= =?utf-8?B?cnBTdWFPUXM3RkZUOHMwa1hzdXd5bkNmTkN4amphbXBTck51YXVLT0JSREZE?= =?utf-8?B?ZGZpUHFFcEY4NGdIMlhzUVN2bXI3ZmVxYVZXeCtlSHpBNW9ySzdsM0hHNmdI?= =?utf-8?B?TEU4RGtvUThwaVpmMW5HWHRjVjVWb0ppZEhyR2o3SmR6TFU1Tm5qQVpmV2xY?= =?utf-8?B?ckxRT0hnUnBhUFMrb2dGcktWQVpkSTFxdDFFWEpSanFXcU4wQlR3UXRPWVU1?= =?utf-8?B?U2NkQ1hxRWJFTlFSTW1SeUVnc25YUWhRV3VGY25Ia0RlZFpKTFZpamRHTWxx?= =?utf-8?B?SjBQMlZRVVp1VHVPSUdDbEd1U0RmOXlmd3hjdjI4Wm1KQWpjSDJzQUlQSGF6?= =?utf-8?B?YkFxRENITStybnMzT0RnQU1HNWgzUGs2NVh1VU1BY1d0R0ZZaVEvbFl4azIy?= =?utf-8?B?TUxXRjFScVVGTHdaakFJVksyUTZiaDdVNWlNQ3E0QkVFWW1OYjdMdTR1WENt?= =?utf-8?B?S3pMZHdyeXRSZG91VytPTGc4YUFkVGZ6UzEvTUJPK2J1bXFDQ0pva2pxMFpI?= =?utf-8?B?ajJwOFlJNEVSUDlPSVFWZ21pNUNLU1p3L3c1K2huVThjS29OY3NCTjR6aFhM?= =?utf-8?B?a0xFZFVKVmpvTjMxamxIK3Fxd0JJRHZkbkpqSkZneFRhcnBKcGRMcGk1aHg4?= =?utf-8?B?TVYweWsyNkpRMTF1K1VtSUZaMTIwckdmQXhRM0VZRUJGcmZsekNoTjFqZTE4?= =?utf-8?B?VWNEZEh3a1BIaE1QQnR5QXdrY3RwVkNSTVZHZkN0UDgyRmlCTFpPSUNucVBK?= =?utf-8?B?Zmk4dnhEc1hHSWUvcFhRTmNhVDRHZm1PNC9DMkx0K3l3bGxsSHlaOE13dVZI?= =?utf-8?B?NjdBeE9hQUNOUGNoMzBBU2k3VkFid2xzMzkzenYxVHZuUENGTkNNandxM25M?= =?utf-8?B?eGVGTitmNFR4MVhxelJxNXVSS1JoeWErUXAzNzNoVDM1VzYxZlYrWDdHVEtO?= =?utf-8?B?SU53M3RPSHhJZ3pQYkMvM1M2S0s0UjhqZUszb0ZBZllDejQvaW5sZnFZNXFo?= =?utf-8?B?NCt1NTRNNDl5aHR6TzJEZE95VU0wVjlzNmNtWHY2T0JpdXFkaWlJQ0x4Uy9T?= =?utf-8?B?eWtGdHNzb1pvUzhQYUZoS3VaUEIrU1Rvd3VXR0RwbmFyYXV3OXRQbCtpWEFq?= =?utf-8?B?NVRJNmNQU1VaUzVJMVFGa3h5dW9PR3YwSkUwU1ROSk5vcVNCR3M1c0NYTU9s?= =?utf-8?B?RFkyWmo4NmhPSVZVWDMzelpuZWJjVzNRbFFSOEk5dHpRSlJReFpMWkw0QW55?= =?utf-8?Q?o+uIq0tkGSxcg3tHE9UfSVi7KCYbsHUQ6Md7A=3D?= 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)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?WXVLZmVFR0RyQ2tBd2lSWW9GSVFpNWVZOG5ENnFXcFVBUjc2Wm9zaFRWRXFQ?= =?utf-8?B?KzhzcElQUklRSHJpU3huTkhPeElUOVlCYUl0a0o2ejB1MXIzMUw4K1pIMEtV?= =?utf-8?B?bzRtY08wMEJqakl4Q3dRTEpEeWw1blJPOEVpRlR1SzBrODVxWG9uTXhKNUs4?= =?utf-8?B?T2JVV1hEK1dxdkJBMTBvWUdkOVlFbTExZ0NSVWVrZGFFc09sL0VXYzNsYkcx?= =?utf-8?B?TUJHN2gwdkduZFhGK3ltWFNLa2tiM3JuS2E2K2RUTVpDd1g4a0pHSWNZQ05K?= =?utf-8?B?WHpxMDFRUXFJb1RaS3ZlUTBUZkJ1OEdXcm1uT0tLd05TR1FsenNRUnh4M2dk?= =?utf-8?B?d2pSS0ljSXllQWJWNVc0WkFkbDVFUVBUOUZObzdXM2pnaDFiMlBveTBiTkUz?= =?utf-8?B?RGdEUjJNc1o5V1ErRk5PR1lPeUwzS1JYK21sWWpaMEZ3ZEJLa2ZrdlVTdDZz?= =?utf-8?B?Q2dyaURWcC9DbWoxMDZVbllwbXY4dTlwc1UxYXd6VUh5UFUza3Rnc3liVXBN?= =?utf-8?B?WGpVTWdxUzZhZUdHb1FlbVVtUGRXbGkxVnJtQmJGcFFWeUNvQng2eGdDQ2F6?= =?utf-8?B?K1hGVSs2cTRac29TWjJIR2RzZWJlR3VNUUd6dGJRUElxUFhQU21hV1pMUjRq?= =?utf-8?B?WW5yeCticGs4bnV0dy9SL3BkNXl3VnlkTFVEUU40MzdtemZxMnBUdDRTOG13?= =?utf-8?B?dU5hVXVNeTQyMUxoSk4wSHIzRjhUK3MwaVU0ZXl1TWdYRzdVTytwQzhGYWNZ?= =?utf-8?B?WmEvc2Y4ZDd5Q2lSeEVGdktROXBaaFZuYnFaaFg2b214ZUNudUlCaDBmTzBQ?= =?utf-8?B?WXZLYjBkdms3S1BaYks1S09VVE9uK05TWUtlQ3c2TmdhRlc5S0lmOElVQUlm?= =?utf-8?B?ZmtwR2JRTkh4WGVwQUVzZjNYWk1UQkpCamJnQUdaZTFDdW5iNjk1bmVqcnlT?= =?utf-8?B?eTlwWTdMVlhTb29XUisyL01TOUFySnJHU0lqdWNveDZOY2lHQlF5WnU5VDY0?= =?utf-8?B?NnBNTFJyMmVXcDd4SFdRaDhUdndibTBPUkJwbHlFTkczOExwNU9KeGM0Tk55?= =?utf-8?B?LzBPK3R0M2VXNjNnRE9qUVByNjJNRFU0SkhZem91Yzg3bEIxNHRyUnZyMWMy?= =?utf-8?B?N0I3TlU3Rk5lRzltMmRkT3ExV2h5SjB3UWhvMGxOYW94cElRZ2c4V3dHbzEw?= =?utf-8?B?TG91S2ZFQlNsZFRRWkVhdHRWejRpMkZXdmM2Q1d0ZXFHRmdRZFpDb0MxTlQx?= =?utf-8?B?MlFYSlpTR1FSNnBFVVFIWVZVUXVNWlQ4cHg0T1M1RXRZVDFqSW1Ya1oycEpt?= =?utf-8?B?VnQzMm9taDd0Y296aGZIY0pzNVlvWU5VOEtDOE9ZWEY3T0lpYkZuRVoxSTdQ?= =?utf-8?B?Q1V0WlNwV0lIa29rNFFzdU1Lcmd5dXA1b3VMNUZZTjRBK2NvZVgvR3lvWWw5?= =?utf-8?B?VUdiNWROUno4ZWxTYnVHMkdubGN3OFFPY2hlYWlNbUlVMGw2NnQ5cU1YeG1Z?= =?utf-8?B?V3BUcGhKM0xLbVNISDRtdFpkUmJBZTN0SFc2b0M3THJ0amJrSE90ZVErTkt0?= =?utf-8?B?REZxU3o4UWNKSTEzQkJqUnhnTXg2VSswdnVKMzVxRzAyaGdza0tDaDZTS2hz?= =?utf-8?B?ZEFLekg3Sk1BNDA5czVnaVBXdjRMaTVNWjlBYXA5WnpTUm0rc2psbi9VZTlB?= =?utf-8?B?R1hEcG9sNzdHaFlYS1JZM0FYRFZoTDJRTllQSVVGMVIzY2dRZWFiTEcrOHFR?= =?utf-8?B?ZVJuWFo0QjBYbXRWWjR5bkJZdGYyaVFNeSt0NU1FSy91cEljL2QvZVZJS25k?= =?utf-8?B?Z3UreWZ6cUVmaThDNUdJaW5SZHlPNW9lZHIvN20vRWdhOFFSWXRRNlBqd1Ur?= =?utf-8?B?bUVCckc1Qm9MU3p1VDd4NTJ0aURjRFY3bk5iZnY5cmh6eElNeEU5UldRWmhp?= =?utf-8?B?dHNJVUt3TUwrNkt5VGhDcHA2U0ZUSkFzMFB2SDZ2a3VYR3hNQmE4YmpKYmJ3?= =?utf-8?B?bWlFT1BrOHpzYkhDaGhlaDZsdnIwVGFNMXlHV0pJWnJSV2FUQ1NWT2pOTjVo?= =?utf-8?B?SlQ1NVVhdkkwSEFyTWpmVlY0ZUROK3hIbzZzK3E0WkN1TTIvWVdOd01yRU5B?= =?utf-8?Q?mdG9Eb7ue+QQ5ubw/W/Cpr84w?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3478adc8-e2e8-4a91-6702-08dcbe0501a6 X-MS-Exchange-CrossTenant-AuthSource: CYXPR12MB9320.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2024 15:06:29.2831 (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: 2cY7pJRadx0sHQwCq5hEfhLnU3OrUVFHRW93qDgHnwXpXu7ZEq8JzKlytskyzf1/ X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6710 X-Stat-Signature: t5efpc5t7uuynbj79u7wju9m7u6qkqxn X-Rspamd-Queue-Id: ACEACC0009 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1723820793-553972 X-HE-Meta: U2FsdGVkX19agqv6ma/MF8FYqsv4CpLaLhQWxe8fPxxGuXNdmKjIf1jBs1SALSspAKSy4L/AYS9YFePswJ45HddXGgRaFllCDpke9PJexcuLT7hhc6pdyFFe0+XWt95BmSVwAW2EYm2OoZGK5sEVgRTykwJWIwh/wK0tjUK7L2tctXMcE7Qy825kEtftURrs1WKnVUoggstuGOItPK0mE3x3ss1qyDlOz46JQW4fzn9YUerl9pDsqq/hpON0DalV9bqJWTtjchsbbrrqOg4s+bD4gaiaOTna/zPwXfF5Q0MHOwsBx2Su/j2V/6xywNerv5iGRnzZgq9G/INEjklWUVJwNghLNuLK3RrWlW3NHxqYO9f9LcVxQcVU0sc1HLke4XBiv/U+Lfe9Tp7bzMOTDErMDLkmxypJUDSAk4+Lbpn+NbG6uPumPmMDDaJG0GFgNkHePszDsjX6bwInQsk4EyEn23JXcTlpfpEoU6SeermcCgKGc5gNn/k06kXWEEgNa7RX1a5JPDJfjZ2XZW9kX1/lVtKDVXB1tvGRZDcLLcB3Hmu+KDFWQdA3Fzp34Q6UkSj/8Un6D/xONTxyKLlFUmcPG9ntXQp8p7UGOcSrt8+8VSaeTB8mV+EZMgZQGEP9RARXk6FJmBagfv9RFiZK/vTeeqkoJvZef2FfNgR7Q16Y1+W2Cno2YDrDSG3lUgBk3pToND66DoEuYBhnz0IcWDRvBd36sWR7NhzUPxmJMVGTxr6ajyGvx0paGZaO2flKPyBwB8eEYCenZOfkEu53BKkp0AR/t6TIA4D/vZ9ufNKndEyXyxIahCDR/ya75ZMHzUPvr5paLvgK9b/FnPEME7idLe3GpHqOJQynO1B8uFAiQvcIlu4HaRm16+hkshYRJiEl2ZXqChu9n7WTbnSrWUsfB1h60k/FIlSAFgQhPqKATOCGVCQbi41yw9O7Ad8uIrb+OSj6rc04BgzF+nj iYR+JrfF JGahxjMuVAJMunD/IA3u+gwSfWZ3+oBZf1Maev7rOJdO9NBe6QVTvUTPuVkCjRvY+eIN2ChVmZzwG0fALq7+l3VAEJh9DklgoCz/gucQDmSAFCc0KDgrs+RIcKbeCt3KH8dtO4Gxk2fboFeBU0zXSTu+Ak0nsGgeT7N+lE8zgO+MTfbwVFtQPyRto1iPWoZfwChBcwCNSecKGWZngBe6GpZmr181yTDt1pM6MWUEW3Lmsw0g/x0W0p+JJy3GshQ1+BXgNNTYMBq0lA/OW/7m8riE0Z1oBiEnnNHQifNPPZkN7C7ICNucPZIWpXEJzHKeoVCXx9rBE7hohuQ03VEjdhdFyvfQti1ahKUur+K/Bzsj+kvVxh1+lI9fck8Zs2SSRFOhNFBXwB32lDRB00jFgBRiDKA+ww24QjaOH9DlUuivSfC5mXkRXZYl0rl2Pl01/GE/BT5goxjbip5Lk4fQSRbth4ITyIKz3WjxVSLC+odSdhyc/kuAKFqfJHz/nlMAoqJI4Kq8kTq/Jx5U= 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_145386FF-535C-46BD-B018-56D56FFE1A4A_= Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable 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: mak= e >>> 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=3Dtr= ue) >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 isolate [isolate_start, isolate_= start + pageblock_nr_pages) >>> =C2=A0=C2=A0=C2=A0=C2=A0 start_isolate_page_range(isolate_before=3Dfa= lse) >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 isolate [isolate_end - pageblock= _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 isolate_= 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_range(= ) >>> 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 g= ranularity") >>> 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 lon= g 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 i= f (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 i= f (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 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 .no_set_skip_hint =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 .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_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=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 expected = that you have to special-case here on the migration reason (MEMORY_OFFLIN= E). >> > > 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-964F1BE25D= 43@nvidia.com/ > >> I remember some dirty details when we're trying to allcoate with a sin= gle pageblock for alloc_contig_range(). Most likely I was overthinking about the situation back then. I thought PageHuge, PageLRU, and __PageMovable all can be bigger than a pageblock, but in reality only PageHuge can and the gigantic PageHuge is freed as order-0. 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 page.= 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_operations? Or it is unsupported, so I should not need to worry about it. >> >> Note that memory offlining always covers pageblocks large than MAX_ORD= ER chunks (which implies full pageblocks) but alloc_contig_range() + CMA = might only cover (parts of) single pageblocks. >> >> Hoping Zi Yan can review :) At the moment, I think this is the right clean up. Acked-by: Zi Yan Best Regards, Yan, Zi --=_MailMate_145386FF-535C-46BD-B018-56D56FFE1A4A_= Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- iQJDBAEBCgAtFiEEh7yFAW3gwjwQ4C9anbJR82th+ooFAma/avIPHHppeUBudmlk aWEuY29tAAoJEJ2yUfNrYfqKLk4QAKdce5fxEdeq7IyAzMIXkimPZxbH+7/bJb34 keZtqdVuXlP3rgEnZ1TeBoh50x/H35N2ELfhmeDJTmmVEVVuLlpTNh2aZiZMvH/2 q1Y4PsbwRdp11z359goU7+kMqf1BLwG76r7DgvW1ZK0+BfhxnJqIr6VuC9nVFjPG 72F+QTK5kF4q97P/H7JgaH5pQLte8IMtvxJCmuJQ+w2d73empCwfHV60Sa0o1/TW DzQ4cIaNJ5MTj/pmyOWoc5iCqRdGcKSQyYJoPEntsXJWlGVEM+P55v2Ml2DnhusZ ej8YgNpVeTHkyY2cQ0xCYf9G8qziddQJgQpsMhjaolJkkmOn0YvS/+v6Uk1dNmU7 St/4M2kU3seZnoC/kz+j4aYaxugjgErcrRxCjxFdyrklGNNvMO2BXRrLBF1vxMMX ilmxaWnpI3CnGMFsipzuIQTuhv6ErJ4/mfP4/HSQA9IIHjl7uuNc4zgCYJJHRn0I Eb4sapxoL7vVxKnktNNOWOm6auL58urXJZM1N8a/fLldYd3keOzPli/hR7fjOMbg TtKbFQWOWjb6JGp8UrFyXxpYW/ggVMTMiSHxnATggyZ4Sf4gk+iRe/d4I5dyHm9A +FHNmHLCOp96XFwQcs6yqEV4B+wNlTghRTt7Hf6h67kfQdK1HB2a5wiiPI9AeP7i D6wjzkOW =Lz+K -----END PGP SIGNATURE----- --=_MailMate_145386FF-535C-46BD-B018-56D56FFE1A4A_=--