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 4677BC83F03 for ; Thu, 3 Jul 2025 23:06:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C81116B027F; Thu, 3 Jul 2025 19:06:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C59996B0280; Thu, 3 Jul 2025 19:06:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B481D6B0281; Thu, 3 Jul 2025 19:06:50 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id A06286B027F for ; Thu, 3 Jul 2025 19:06:50 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 2B5A110610A for ; Thu, 3 Jul 2025 23:06:50 +0000 (UTC) X-FDA: 83624490180.15.959655B Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2048.outbound.protection.outlook.com [40.107.92.48]) by imf08.hostedemail.com (Postfix) with ESMTP id 5EB0D160005 for ; Thu, 3 Jul 2025 23:06:47 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b="F0zt4/o3"; spf=pass (imf08.hostedemail.com: domain of balbirs@nvidia.com designates 40.107.92.48 as permitted sender) smtp.mailfrom=balbirs@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=1751584007; 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=9YyUY/xhF30BK2tu2u7uRVdLevw7+L0RXNLMYa1Ms7Y=; b=UAq5/SaRdC/gyzS81tKBzp3RE43ihPOMUTVBpoBL52Jm+Jysw3mSn+4vbG1tmjqzrp99ZK MOEOI39g21F3lcRW4Zyyxqp1Pv6bADSB6GVCxn2mo2/NXdihmvgFrD5QJGJly4TODmEcs6 iWnKGi1liHC8/cFKsNCaNPv5PVP+vc0= ARC-Authentication-Results: i=2; imf08.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b="F0zt4/o3"; spf=pass (imf08.hostedemail.com: domain of balbirs@nvidia.com designates 40.107.92.48 as permitted sender) smtp.mailfrom=balbirs@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=1751584007; a=rsa-sha256; cv=pass; b=mHDU6atTEkloViNSoOl/NRbeOOxhiEDqdGO9BcwsJyb8L4YHI2QrQyXsHghCbR0dLi20g/ BmtfDMOnd8iOBY+P3WyHE1Di1Hu1+iry4x5gCHYnlaAUyuZ+2jLpHt+6I4CMxzkZvxpcrr M70cpnOk/aNKl9PS+PnErzcDPseVPEs= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GdpwCoySiYL7IEllGQx5cAFs9vB2bFnc/UTZTQxl2022XgBwhwzLKb92mGBiyzGmxe67ihaNeBaij6l9hGA9FxoDIuOoC8m9YM+vfwOYTLP8qgUyTE4Xu/4FWFuAokQsLcIDQg36piPHCHOh3vtFIO+IC1jrMwUDYWHCOPozY1YWchq9lTF88xaFPywyxpUX5glTaNQpnQx5EyYpXS7od+xfrOxel0BnxrAnUgBL3A3OOOW5zb3cV1W+sW3bbPdVTqimGZhvNv0G37wCfROIPmkN2TVii2G+gkqfGPyAvHgKKEQSz4kTzEct6i/KUu8zUDKZ7udpSwtOIn32/oa2Vw== 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=9YyUY/xhF30BK2tu2u7uRVdLevw7+L0RXNLMYa1Ms7Y=; b=Hz7iFrogA5XGiUlp0uf0lD9vwy6w9+P8ynJH9QyVSWqyaQkrhws2YimsBkyUQvsvw3nFVrNhht2p7nMGidDPH9qSeHHUe8NodaJHIH6QLv5FDSBpCT+/9Y1FPOGRatpZdtWKnZjrT6wfK05K/i2yqircgwRAPIIKtGJCr8h113LU54QkeQ038psLiGJspxXdAdUcLjnbfzjLzF0oHFCKGSvJeXLiG6JRpSYCysGvxTukRRguly7fzMdjAtmf1NCgc5vm5w7yg28DJbE16VyGWTyV75620bk5yxr73WbXY1erQGRknQ+9vLFPy/KuzD28JMjxQ1eZnyfNB31Gag3ptA== 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=9YyUY/xhF30BK2tu2u7uRVdLevw7+L0RXNLMYa1Ms7Y=; b=F0zt4/o3UVrAfQDojexLdPbc6hZSHWl61/J0CTnlLQXaTkavpJj1fklvVIKgiwDm9N1B9z1/UBccT98rjr1CiaMMVshZ7xv8MU4kB6obZB2Qa/ojc0/GJCn/mVfqTnsFKTHA7IVh9nr9XZYkZ69q1c4Px0TkHzjxmyPbanvYghpMfPcoHYOtLJ5KULFieNnrbtMe2g1hWQR2PIOi0YxG6aJh4S9ueJ43HC5ddpOPm8LspLmORzZ20BKe7Av7L99H72pANX9SMZEpX83fiLC3tXMo6SUImNMJni7eORRKRj2DjztxzXw1JyhoYXsrUuQXINody5QSRBA99siE9GYJng== Received: from PH8PR12MB7277.namprd12.prod.outlook.com (2603:10b6:510:223::13) by SN7PR12MB8059.namprd12.prod.outlook.com (2603:10b6:806:32b::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.19; Thu, 3 Jul 2025 23:06:44 +0000 Received: from PH8PR12MB7277.namprd12.prod.outlook.com ([fe80::3a4:70ea:ff05:1251]) by PH8PR12MB7277.namprd12.prod.outlook.com ([fe80::3a4:70ea:ff05:1251%4]) with mapi id 15.20.8880.015; Thu, 3 Jul 2025 23:06:44 +0000 Message-ID: <85c325cf-0086-4e52-9156-519d98018df8@nvidia.com> Date: Fri, 4 Jul 2025 09:06:37 +1000 User-Agent: Mozilla Thunderbird Subject: Re: [v1 00/12] THP support for zone device page migration To: Zi Yan Cc: linux-mm@kvack.org, akpm@linux-foundation.org, linux-kernel@vger.kernel.org, Karol Herbst , Lyude Paul , Danilo Krummrich , David Airlie , Simona Vetter , =?UTF-8?B?SsOpcsO0bWUgR2xpc3Nl?= , Shuah Khan , David Hildenbrand , Barry Song , Baolin Wang , Ryan Roberts , Matthew Wilcox , Peter Xu , Kefeng Wang , Jane Chu , Alistair Popple , Donet Tom References: <20250703222759.1943776-1-balbirs@nvidia.com> <23F4206A-4D96-4357-8C81-C50A32420E9B@nvidia.com> Content-Language: en-US From: Balbir Singh In-Reply-To: <23F4206A-4D96-4357-8C81-C50A32420E9B@nvidia.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-ClientProxiedBy: BYAPR11CA0073.namprd11.prod.outlook.com (2603:10b6:a03:f4::14) To PH8PR12MB7277.namprd12.prod.outlook.com (2603:10b6:510:223::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH8PR12MB7277:EE_|SN7PR12MB8059:EE_ X-MS-Office365-Filtering-Correlation-Id: 0a2dd14b-55c9-4ba8-cce9-08ddba864752 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: =?utf-8?B?ME5tRkNQUU81M0lqdVo0ODkxdUZINWNUUHRIaVhmWi9uUUNBZVR6VW9nUFlB?= =?utf-8?B?amExTXY5UENYWjVkYSs5UHExRjNMTnc2K2E1bjdZWFZYSWUzUzVSaHFGRFF4?= =?utf-8?B?a3FEbjdjRUFLMWRuc2FpMk9tT0tSeUlpOU1lTk5oQzE1VXVtd2tLL1JqSjFi?= =?utf-8?B?VVRrSnlpQ3ZKcnMweitMNVViaDU5ZTY5VlNNZ1l4NW1Qd3VQRjVGYmgwcnZt?= =?utf-8?B?L2dxdmt6UVhJR01wOUVSZ1V3N2E0bnVJdE9RbnZSZ1JrVzFaUlY1RTJzVDd0?= =?utf-8?B?ZXAzSWcyWFo0Y1dKQnc4L1ZzZTN3WWZHQkdmUEtFSEgwdXdqbHcvdlpid25Q?= =?utf-8?B?eTl4aDhDeUxENHVKcnRPZkVYeS9SSEhQUGo4b2trOTdlakZOSUJUTUt3d29B?= =?utf-8?B?aUk3dGZBYkZZaExtTXFBUFAvRE83eG5tc1ltVkNKdnh4TExaeWtkYlVkWm5F?= =?utf-8?B?d2VKSk9SN1ZlNUJSeUpVNUk0UFk5L3FKV3lHZkNuSnRCNnJwYlZhTU9FUlJj?= =?utf-8?B?Nm9GSjhMUG9FWkFrOThVcWsydUNuYmErNXQvclNLUG0vSnQ0VTM0cFVsRk0x?= =?utf-8?B?WGZ2aHB2Y0VDRGMwN1l3Z0dQejJvRGJROGZtZEtOQzI5ZnNTYXdQeEpOK2ND?= =?utf-8?B?UVk1VlgrZXY2a0R6MDdBb1lqTmh4SHJXYThmYTVqYUNmZDZ2WUpCVXN3eTRE?= =?utf-8?B?a2RTc1MxaUE5aFF0WjN0QVNBUUtoZGUxVlZaQUNRMEJzZ1hvbVJlKzB2cGdG?= =?utf-8?B?eUNXT3FJQWI1TGI1dVgxOWxGZ1NJQ1JjSytmZDV6UHF1WWxEeWxZbHVPYlFP?= =?utf-8?B?ZnVoLzlkNlFrRjFiTTBmZytLTEYyM21BY2lUS2RVZlNvNDVENW1nNE1GNFNB?= =?utf-8?B?Zk42SWhTTDlHR0VTZHo5bGk2a1IzNXVwbW5SMHdtT3FNSGVsaTJiaEVuWGpB?= =?utf-8?B?UE5rWVZqU0s0WXBNdkZXSVp3SEZtdW0rMkV4OVRnVExxaU5vd1pJREUyMTNI?= =?utf-8?B?ZUdWczNrQWJzaDd3V3dZRlBxaWxWN0tyai94TFArZEZMK2tza2NZK3pGWTV5?= =?utf-8?B?cnp2VnRkOHd3cW4xeFoyMkZjQ0luUUVxTXBldVlvSTRIMFpFbERzTStpZU9L?= =?utf-8?B?SVVxdGJBTGFPVjRLZjZqRWdxMWhSUmdMZDBweHFsVjl3Mi9uYytaZjJFVy9X?= =?utf-8?B?K3VoTjEzQmpEbllDdUNLYjk1U3loZUlNdkc4WjVDZ3RnUkt4NHN4b3BmUHhN?= =?utf-8?B?ZDREZjBrTGNwZHlJYTV3dHhudnVpd2Nja20zWWVMQ3pCKzRZTlphNE9jaDE5?= =?utf-8?B?RG1UNmNQSklkaUx4UTh3dmpUVk1EUFBiaFZ6K1BFcmVBYUZLUFVDUms2NzIx?= =?utf-8?B?YjRtRWIxb0cvMXRhRVFzL2lVMWFtaUtmSSt5UTJTTjF1S0I1SjBTbUhMYTIw?= =?utf-8?B?TXdrRXVIMkF1MTN4cjcydEpRQy90bDdITk55ekJMc2s0MURwQWNHMWFZOE5x?= =?utf-8?B?VktyaUhya2lhRUVBdFEyaThrR1Jld1VNNnNxMEpEK3B3UTVWNFFjanUxc3dD?= =?utf-8?B?bWdsL0hSUW9VQW16azJuUCtWazU5UGtsem5xMEhleEVRTFEvcGNaZndrSzJL?= =?utf-8?B?ZUpLUnZZblljWUt6TXpyNWJrQklUTzVYdytzeWRhaEQwQm5WNWxNWVhNdytj?= =?utf-8?B?a3FOWWExUFl4anNIZDgrVGo3S0pvdDZOVkJQT0xsaEJUWWhlbWo4Y2NldGgw?= =?utf-8?B?MFkyRnloKzkvZzhOWFF5UTVrY3VZR01uM3Boa254dVVNZUx5allUeXhsSkhZ?= =?utf-8?B?T3hWM2g3TXhnWkhxUm10NzhZNnkyZ2tpMVVybmQzbGxvcW0wcFg3NG1FL3lY?= =?utf-8?B?K0lCbVRGL2hGd3AvUG9RakdSSXAvaWk0OG1uSjZKVWxQUG1sdkc4QzlzK2tD?= =?utf-8?Q?bYuT6IL7O7s=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7277.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: =?utf-8?B?UmwyMzgxRWVwLzJJKzIrdk10dWdyZ21XTzlOOVlVajdVUDNxZzluWW5zNTdH?= =?utf-8?B?dER2ZkdjMmJHSDQ3VFltVFdkdzVwMldSeHVmcitDWk9aYVdOSlBtTFJLUy9L?= =?utf-8?B?OHg3SWJFQXVTeFdGTjg0N0ttelFYUllOY0ovdlJaWjhJVzlEVUp0NGFhNVJt?= =?utf-8?B?SVpyZlo1Z2FRaW9XczhESnBVU3VUdm5ybkFyTGt2UmUzMk5pVFRLYzdlbStC?= =?utf-8?B?NlgwSGlWWGk5VFdydmswNzNieVRYVjJ0ZkhFUW5ZQXJpNmFiWUl6VW1UUmUx?= =?utf-8?B?NEwyMkFmUmt2cTh2OEs5MXVvQ1I4WC9yc0FzYXZtTDBoK3h0Y2xkUGZDZXNo?= =?utf-8?B?Z2RBUWsydjRzdFlCSS92SHB0bW8rTU5JSmNhekxnTUJrcjY3aWJLZFZRaUw3?= =?utf-8?B?Y1JDa0ZDK3I0U2lxNmZBSW1zVUVBWFE3QVRiWmFtV2xlaCttWXV3MUN0RGMr?= =?utf-8?B?aVlENFpXUkpWRUtqRlE1azdZbWlBYjlOUFloV204bnJqaDIyL3lpZkcvRkNB?= =?utf-8?B?K0YzNzFSUEsveDhmNzNYK2JncXlXMmswTDVPQkd6UDRweUZ1OW9SL2E3c1VK?= =?utf-8?B?OHlOMERRVDN6K2M5UVRjbUloRTFwUEs4TkJoQ0F6djczSTFMTURDNlowWTB5?= =?utf-8?B?TUNBY0hJSlZqQjBmRDNIRC9vRHJUZWhOOWR4TkJDbjZoV01MTUVqdFptaFdl?= =?utf-8?B?QTJQTVlQaEs1K3hzVlMrUmxlTWNOeFJHck5zQnVOUWtwN2dyYjJiNTdJY1FM?= =?utf-8?B?L3dzdHpENkpDeTBXMFkzT2drY2VLNE8vR3RXUnlPdmpIcW9BUUk0WWg1Z2Jn?= =?utf-8?B?SS9SY3loelVJU0t4eFdUWkVWV25LRCtEZXYwK21RdFJLR3N2YThiMkwxN3FW?= =?utf-8?B?czk5KzRIMllTTmNtNHd5UytHampnbytBbDhsalk1c1drb2xOcGE5UW9SaWJ3?= =?utf-8?B?MVRZUFBCcmFZSzA5Vlp1dklLMzBIN1kwTm9xVUY0WHppTGlMRDRlVTlLZEdG?= =?utf-8?B?a0lMNHcrRVJLVjJMTWpxU01iL1RWV3lyY3gxT05oNGI4SVo3NURFQ2RnV2c0?= =?utf-8?B?Uy9SYThEVmczOFhiQ3J4bDhMU0l6enR2bWoyZjdYQ3VxcTh5eGhzNHZVWVh5?= =?utf-8?B?NVRnZlNuUEtFM3hvbktaT3p4V3pRa3kxbzdiaG90V2VPUDBHUTBpcHJBQk0w?= =?utf-8?B?NXpQbnlSZFArdk1yTlZGU0htbVN4UEZWQSt0SENTUVFKSXJTc3FGQ0hwQkFj?= =?utf-8?B?MngrdDh4Snk2TnF1ang0S3FjVGI2N2tGM1o1U1lYb3dyUUl0blFFR2J1UEw2?= =?utf-8?B?N0x1YWtKNzU3WXlwSURvK0ViSDRIaVhKNzFZUE1WYjNoQXRsejJPYmhtVHJn?= =?utf-8?B?NjdSbEMwOEZlY2QyMkg4c0xyQXMzbk5JcHMyMmlCaXFWd1lpUElnUWUvMDg1?= =?utf-8?B?anoxMDVBaTFKTVNxd2xwSUlZOGVjeTF2OGc2V1E3aXBDejd5SmluRENqRWo5?= =?utf-8?B?SDdjdUs4YUhzNWR5UnRmenV4aGQwSHZySklLZytRTTVtckltZk9tVVhFd1VN?= =?utf-8?B?RktSODZuQ0pjcHRMWW9JUzlsZHk1MXpjcFBBRDJPTEtoQ1RHdHZRNElZRW1o?= =?utf-8?B?ZFBMKzJFV1BscE1ZZHdTUnBYVkY4Q2tsL0RQckhLZCtLRjBHTFF5QVFzM3dO?= =?utf-8?B?dHZkR1g1ckFMRjlYT2tYSS9XQUpSaEt5Ukc5Z3BRQnk3WXo4VEwrNC9JR2Fu?= =?utf-8?B?TTFDUW5aQ25MY0wydkkyK2FRWDRJUk1lSzQ4dXpBNURDSVhnSzFnRFBzbFBp?= =?utf-8?B?MkluaDZXNmVCdStoOGNCbFdNUjRMVnBpN0FmcElBS1RyK0l5SGIwUHVoNmVF?= =?utf-8?B?VlJJaS8xVmZQcjI3RnBSU1RqR2FESGl3dElrVnN1NDE3eVd0b2MxVm9BSVVG?= =?utf-8?B?L0gwbzdndklxZXhWTXJlZWU0RDZWM0RxdGU1NytUU2Vld3JuUTljMzE3N3Q5?= =?utf-8?B?QWVXdmphalNKc0ZIemI4d0ErcHJpMXpOS2w3S3B2WnJqQ2tSeGVXa2UvY2s2?= =?utf-8?B?M0pDVUJLM21VOHJEU1NIRXNjWjlhQ1dXcDIrTGxOeGU3MHp1clpDZ3dYM2NB?= =?utf-8?Q?0+xKi7Bo8FM1LPhm+TfbxJROi?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0a2dd14b-55c9-4ba8-cce9-08ddba864752 X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7277.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jul 2025 23:06:44.3182 (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: 9E9sVf/f2q2Z9laTYbLLryyhOsnJ4W87YAaeIZFUiUrzhva/obc4GuoUox6Vs5bLkZitd9qf8iwKg0i5FJz7iA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB8059 X-Stat-Signature: ohss4xpjpmdye7b1z9uj4m7gqyo9m1rd X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 5EB0D160005 X-HE-Tag: 1751584007-542898 X-HE-Meta: U2FsdGVkX18/2RUZR0AU9tBvHvr5uM4wfJHieFKOm2MNhLT8QGBsGqnQASn4TPunEKj7nDU7d2rSpTHwlZWkhRcYmKSSolhz4DdkonE7Wy/+WvNcptYWxgvQO9OAVxLZFBC8+tuz9VP7GjZtBEU3Fnr8cvYxRTZ8Tdb3VDLWQYWS2gDbKmN41HmeFo6Y0qqClnG7JKay0Bi5IUpxBvKFAY37MpDxy1kIxoQ4xcoOd/hNBwcjG5NwmsNolkgtSBm+Jms8Ap8b1dYXoVbxSRrgPm1pedpgCctzVBD28JA3k2xlTVZzpLg7p7eGTu7VQfiEfrzXRlGADsS6HbiGvC2lJEtxgum/1GnAUQXuoBAOFprlQ7QWxWSRNQsdW20Fv32eZaetX2cXb7gkf4puhrjtdhZkflNseI8KtAz3IaNNcViC9GCCPBTEgX0v1sShX5QIu9FsZOLPaYPJ0rczXNnOTiq1XwRnjXl/frCDfiQ2UMAVEsCE/pw45ATOfzIGEH3hPKk4FYq59H+xiiXbja6x9fA0Qk8IrXMseus2TVtkWiXkfxXmj7ycazRB73hJ5Ib+U02M0yhPl2sna3YvHp8NNijr78uKx9PXthGl5PJ9TxiqJ9+D1mXYfHPmOhbkE+EdmZ873RfyRJANDoui/lDdg4DO8NS0bSioOxim4s2z+Lc39P9ukit4RL9Axh/66O+n6ZVTeD2yfAe8G48tx5VkfQXkc6fQrGjf0oO1WLJBgSDig+fu/nKI6sj7uMIchK+s9elKSWle1FRkUO9FkEUiMxIVGLhJWgeMhiCYDTCw8dk4arEYWiyRMN3iGnZlaoaZfaxSofGgWk/mYWKd0u7OYseTa7AgJ2h+3afHM5l5Mz+KPeuAeL0jMXbQ+XKSviE3iVcpSwrDOrtKRS2g/fKwVu5V/vscvf8STE7z1cwCC+1eJmdyCDDHtr+4txfreHy60GuFP+cw12QWKlCleLC odsdqSlQ LkoF9t052tDN65l6N5erqtbbrNCJ2z/eiYgDp2DCct/OL9HiKtgDCyfzGqgsM25tA34l/Bh9cPGZ5GCCk0foMa6x5qEhanxipppR/VYHHf7UrjBTBtty27bvOwAW5JUQKc45uv6XBbJO6PTehYJBbBapx8q5vjFET6e/m4EWgJBMMThfAnGZ5MLKQ3wa46ih2E+yEkBNwnXyBOGbOj1DdEIx4zQG+lWxfFjpfyj52zofnT7FBVb51DlObUJvKK3xdumpL6hsuigODTiWSEUfl74bAmXnLWJc9eNjNiQGaFsoLD39ePTLF6bUPz2uN3qfsuSphNcNG/WRyBN1wQ9qdYyS5t3b/doMYKZdtLXmToF5lr40VthIUtI25ipZmlHhe3jYZ6yWIkJYXDWQLSxTXdzujWsxCJ2ppJIUJcQl2DAsKkDyBrXLBF7/SeHOqEqXIpjoiTE/fQbYS6r3Mn4msz/BJuVKdu1bA4Ab1V6nNzJoNAmsIgVEvX+h9PdefvvjZjeI8anxIwFRqD/dy6cuWihKsWScqQImUKQ4HhyBR6I2p/htuzR/c9PKstFrQNFgbyyJFOxPgisiVT9uOR07gM4dUmDvlp+vEVmlU4ls2osddb7lzcm4Erw/JcK+7P1FzyHdANEy8LR5+EZZulKb2v+qiFtjHhURjiZhshJvGFAPB+tFg0kaP7TCHfzjO2fbUi8MYz2uAnWCSQFo6+HzS2TSNnM+l3znfu/LcQCCCs+3ytGYaxRzxz4P0/H3BvG4tOHLdajoBstJgL7dtQJn/b61kg8hTs6CfVe3K 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 7/4/25 09:00, Zi Yan wrote: > On 3 Jul 2025, at 18:27, Balbir Singh wrote: > >> This patch series adds support for THP migration of zone device pages. >> To do so, the patches implement support for folio zone device pages >> by adding support for setting up larger order pages. >> >> These patches build on the earlier posts by Ralph Campbell [1] >> >> Two new flags are added in vma_migration to select and mark compound pages. >> migrate_vma_setup(), migrate_vma_pages() and migrate_vma_finalize() >> support migration of these pages when MIGRATE_VMA_SELECT_COMPOUND >> is passed in as arguments. >> >> The series also adds zone device awareness to (m)THP pages along >> with fault handling of large zone device private pages. page vma walk >> and the rmap code is also zone device aware. Support has also been >> added for folios that might need to be split in the middle >> of migration (when the src and dst do not agree on >> MIGRATE_PFN_COMPOUND), that occurs when src side of the migration can >> migrate large pages, but the destination has not been able to allocate >> large pages. The code supported and used folio_split() when migrating >> THP pages, this is used when MIGRATE_VMA_SELECT_COMPOUND is not passed >> as an argument to migrate_vma_setup(). >> >> The test infrastructure lib/test_hmm.c has been enhanced to support THP >> migration. A new ioctl to emulate failure of large page allocations has >> been added to test the folio split code path. hmm-tests.c has new test >> cases for huge page migration and to test the folio split path. A new >> throughput test has been added as well. >> >> The nouveau dmem code has been enhanced to use the new THP migration >> capability. >> >> Feedback from the RFC [2]: >> >> It was advised that prep_compound_page() not be exposed just for the purposes >> of testing (test driver lib/test_hmm.c). Work arounds of copy and split the >> folios did not work due to lock order dependency in the callback for >> split folio. >> >> mTHP support: >> >> The patches hard code, HPAGE_PMD_NR in a few places, but the code has >> been kept generic to support various order sizes. With additional >> refactoring of the code support of different order sizes should be >> possible. >> >> The future plan is to post enhancements to support mTHP with a rough >> design as follows: >> >> 1. Add the notion of allowable thp orders to the HMM based test driver >> 2. For non PMD based THP paths in migrate_device.c, check to see if >> a suitable order is found and supported by the driver >> 3. Iterate across orders to check the highest supported order for migration >> 4. Migrate and finalize >> >> The mTHP patches can be built on top of this series, the key design elements >> that need to be worked out are infrastructure and driver support for multiple >> ordered pages and their migration. >> >> References: >> [1] https://lore.kernel.org/linux-mm/20201106005147.20113-1-rcampbell@nvidia.com/ >> [2] https://lore.kernel.org/linux-mm/20250306044239.3874247-3-balbirs@nvidia.com/T/ >> >> These patches are built on top of mm-unstable >> >> Cc: Karol Herbst >> Cc: Lyude Paul >> Cc: Danilo Krummrich >> Cc: David Airlie >> Cc: Simona Vetter >> Cc: "Jérôme Glisse" >> Cc: Shuah Khan >> Cc: David Hildenbrand >> Cc: Barry Song >> Cc: Baolin Wang >> Cc: Ryan Roberts >> Cc: Matthew Wilcox >> Cc: Peter Xu >> Cc: Zi Yan >> Cc: Kefeng Wang >> Cc: Jane Chu >> Cc: Alistair Popple >> Cc: Donet Tom >> >> Changelog v1: >> - Changes from RFC [2], include support for handling fault_folio and using >> trylock in the fault path >> - A new test case has been added to measure the throughput improvement >> - General refactoring of code to keep up with the changes in mm >> - New split folio callback when the entire split is complete/done. The >> callback is used to know when the head order needs to be reset. >> >> Testing: >> - Testing was done with ZONE_DEVICE private pages on an x86 VM >> - Throughput showed upto 5x improvement with THP migration, system to device >> migration is slower due to the mirroring of data (see buffer->mirror) >> >> Balbir Singh (12): >> mm/zone_device: support large zone device private folios >> mm/migrate_device: flags for selecting device private THP pages >> mm/thp: zone_device awareness in THP handling code >> mm/migrate_device: THP migration of zone device pages >> mm/memory/fault: Add support for zone device THP fault handling >> lib/test_hmm: test cases and support for zone device private THP >> mm/memremap: Add folio_split support >> mm/thp: add split during migration support >> lib/test_hmm: add test case for split pages >> selftests/mm/hmm-tests: new tests for zone device THP migration >> gpu/drm/nouveau: Add THP migration support >> selftests/mm/hmm-tests: New throughput tests including THP >> >> drivers/gpu/drm/nouveau/nouveau_dmem.c | 246 +++++--- >> drivers/gpu/drm/nouveau/nouveau_svm.c | 6 +- >> drivers/gpu/drm/nouveau/nouveau_svm.h | 3 +- >> include/linux/huge_mm.h | 18 +- >> include/linux/memremap.h | 29 +- >> include/linux/migrate.h | 2 + >> include/linux/mm.h | 1 + >> lib/test_hmm.c | 428 ++++++++++--- >> lib/test_hmm_uapi.h | 3 + >> mm/huge_memory.c | 261 ++++++-- >> mm/memory.c | 6 +- >> mm/memremap.c | 50 +- >> mm/migrate.c | 2 + >> mm/migrate_device.c | 488 ++++++++++++--- >> mm/page_alloc.c | 1 + >> mm/page_vma_mapped.c | 10 + >> mm/pgtable-generic.c | 6 + >> mm/rmap.c | 19 +- >> tools/testing/selftests/mm/hmm-tests.c | 805 ++++++++++++++++++++++++- >> 19 files changed, 2072 insertions(+), 312 deletions(-) >> > > I only got the cover letter. Did you forget to send the actual patches? > A script of mine stripped the cc from the actual patches (my bad), the rest went to linux-mm and linux-kernel. I can resend if needed Balbir