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 94583C83F34 for ; Thu, 17 Jul 2025 23:39:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 364ED6B00A8; Thu, 17 Jul 2025 19:39:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 33D056B00A9; Thu, 17 Jul 2025 19:39:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 204606B00AB; Thu, 17 Jul 2025 19:39:08 -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 0C7C16B00A8 for ; Thu, 17 Jul 2025 19:39:08 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id A73D8140245 for ; Thu, 17 Jul 2025 23:39:07 +0000 (UTC) X-FDA: 83675374734.05.61C4256 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.9]) by imf25.hostedemail.com (Postfix) with ESMTP id 33622A0007 for ; Thu, 17 Jul 2025 23:39:02 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=asWSc0zS; spf=pass (imf25.hostedemail.com: domain of matthew.brost@intel.com designates 198.175.65.9 as permitted sender) smtp.mailfrom=matthew.brost@intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1752795544; 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=/gLRNFGeoSRshy6vhE86e4YHdGcfUCmwLkZigIlMShM=; b=j0akRkQvxhOxv2IPXVYGQgbHMO6Gyk/rJWR9Bz3D5bqASOQU/QistyslgAmVQShnbRdJZj yK06eO4bckLebOZHncI9KTM9LTcBVAdPrb74QTNEp/srpo1oA3/g52dLK08dfyreuU9rPr 0Vga4zJUtmsaTlVqIjgbQ6mHjtNUWEo= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1752795544; a=rsa-sha256; cv=fail; b=Z0INwXMIjUm3aWzoklgOCnpZTX+bXxnUeABxJYvPrQtUhlD/1prcBQw9dDb6ouodLrVd4M GaHQjkSVeEHEU6g+SapJnbNW47kCr1aS7b3A6FMlih50T0reSEqKSV45g034ZE/1T9pk7f 1p5OiJgyKe4Zp14HMq3b/OoglTtNYbI= ARC-Authentication-Results: i=2; imf25.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=asWSc0zS; spf=pass (imf25.hostedemail.com: domain of matthew.brost@intel.com designates 198.175.65.9 as permitted sender) smtp.mailfrom=matthew.brost@intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=pass (policy=none) header.from=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1752795544; x=1784331544; h=date:from:to:cc:subject:message-id:references: content-transfer-encoding:in-reply-to:mime-version; bh=nMWaaphf2DsA2xCfB6O1GAmpnD+/ciwU+L8KYHu1usM=; b=asWSc0zSdgEsFFrTRgxVV8eqoAN6QEADvXrha1vOdwUHnHQtEjhByMVM MGlAZpQ5odv75fMxt20Cy2GuO4MHeLNs2ZL8NLsdcJzBrfIUGzyBgl/Xa YkCvvCxAFX6J38VnD741rBiOjE5ghCZ64sz6pEh1D7yItowABph+ruZJx TdHHSuv+X6KDdKUOOyKzsaCYBcrWQI3b5DeJtBNeiILtooNeBALBrSZui r3AHr4hw+yIzKIEX/JpUeBHppAW+ErGMuDnb0VvoB7daKVPZP9V/l562A U/YUuYoDp/f9H59hWNay3pN5Kd9cdhttRgEIOcqsRDH6dqTOsW+Nu5U/T A==; X-CSE-ConnectionGUID: BXfNOUZsQ8CdBcX9NxUH0g== X-CSE-MsgGUID: CPJ1SPpTRSOTqoo14OevYQ== X-IronPort-AV: E=McAfee;i="6800,10657,11495"; a="77625592" X-IronPort-AV: E=Sophos;i="6.16,320,1744095600"; d="scan'208";a="77625592" Received: from fmviesa005.fm.intel.com ([10.60.135.145]) by orvoesa101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2025 16:39:01 -0700 X-CSE-ConnectionGUID: qdMZ/KTFQh+q4LJ0vNRNUA== X-CSE-MsgGUID: KQDnuhC2QaSF3lEA3m8lqg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,320,1744095600"; d="scan'208";a="162219130" Received: from orsmsx901.amr.corp.intel.com ([10.22.229.23]) by fmviesa005.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2025 16:39:00 -0700 Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.26; Thu, 17 Jul 2025 16:38:59 -0700 Received: from ORSEDG903.ED.cps.intel.com (10.7.248.13) by ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.26 via Frontend Transport; Thu, 17 Jul 2025 16:38:59 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (40.107.92.49) by edgegateway.intel.com (134.134.137.113) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.26; Thu, 17 Jul 2025 16:38:59 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Ky224BIYXkglzI29a/tRpcGDn6hFhZ4EoEmLI2s7xCiDahXWQX61r7JDd+NST5LcoN6kKLhbSQ064aiX6+0CjkjG6c84q3iex/An5lyEEQeMHvhNeFJLkndYEBoam3+MUFifea4s4qfwLDBowKZNqFmIL3CE8WV9qC7f+gSQ2RoDd884057Ffn48J87qg83AzeBkotF5n0vmaNk1pkwK/37pEIup5zdVO5joKQx6GOl6p0LjfjzvUE15dJiwJ+pJC31Ofnl9RVOFEvh4vYM5PK87vCoR0TfNMu1rDLftu+bAdUyS8W2aY+2uDPzjqUTRzBYk6l1cIJrjvzYkNNCJpQ== 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=/gLRNFGeoSRshy6vhE86e4YHdGcfUCmwLkZigIlMShM=; b=C0x6IxdNWBOxmgtfJduPrm2VkLGFeZeYZ9iPX1gYhNFSBvjZAv2BcOlTyKrIFc9cLGFR6dhsDNjutoFYQuo/yp4myG8H5RFyKRAkir9VdUu5DUo0/6w/4jJcGqsYSj+VV+rMDN6AT9IbulXX2pFvC+sY9s809dg6p/ybE9qqLwSN+RtfYimn9e27oA5MyXlNbh5FR9186hZo1V6/zagdFKO4BtBO+diUsKBtX4Dd17VFJu+Km/0kd0CUgy7EQvrUb4fhqoq7XBaWdqsTAgIJM4rA76BSnvWt95vJmh0C7PpltieFj0OggfW4Kd5KZrcO1T33MMMVYriubb6R1HeFVw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from BL3PR11MB6508.namprd11.prod.outlook.com (2603:10b6:208:38f::5) by SA2PR11MB4777.namprd11.prod.outlook.com (2603:10b6:806:115::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8943.24; Thu, 17 Jul 2025 23:38:57 +0000 Received: from BL3PR11MB6508.namprd11.prod.outlook.com ([fe80::1a0f:84e3:d6cd:e51]) by BL3PR11MB6508.namprd11.prod.outlook.com ([fe80::1a0f:84e3:d6cd:e51%7]) with mapi id 15.20.8880.021; Thu, 17 Jul 2025 23:38:57 +0000 Date: Thu, 17 Jul 2025 16:40:40 -0700 From: Matthew Brost To: Balbir Singh CC: , , , Karol Herbst , Lyude Paul , Danilo Krummrich , David Airlie , Simona Vetter , =?iso-8859-1?B?Suly9G1l?= Glisse , Shuah Khan , David Hildenbrand , Barry Song , Baolin Wang , "Ryan Roberts" , Matthew Wilcox , "Peter Xu" , Zi Yan , Kefeng Wang , Jane Chu , Alistair Popple , Donet Tom Subject: Re: [v1 resend 00/12] THP support for zone device page migration Message-ID: References: <20250703233511.2028395-1-balbirs@nvidia.com> Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20250703233511.2028395-1-balbirs@nvidia.com> X-ClientProxiedBy: BY3PR05CA0014.namprd05.prod.outlook.com (2603:10b6:a03:254::19) To BL3PR11MB6508.namprd11.prod.outlook.com (2603:10b6:208:38f::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL3PR11MB6508:EE_|SA2PR11MB4777:EE_ X-MS-Office365-Filtering-Correlation-Id: 6a22bc9d-b7ea-475b-948d-08ddc58b1902 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?utf-8?B?T0pJSms4NVR5NFBsT25EZnRpYnRCT29VdWZZN0Z0Y3gyaWlqWUJIcWZXRC9q?= =?utf-8?B?WFcxVlVZcVNEZDlSSGlIMUQvNEtIdmJEbCtDdm1hUGZHMytieWkwbWFKV3l2?= =?utf-8?B?dTQ1RmRFQ0oxalVpTlBWeW1HWENySiswYmJIazBCcDFkVFJWcHQvTTk3dkFi?= =?utf-8?B?L09nYnBuamJhTENkak1hMFg1Rk05QzdXTEFRTTBVT0kyUlFGczRGVGJnZjV5?= =?utf-8?B?alJBbUVEMEd5LzZiSG92L1RIZVlWVWxmYzdncW16K0pMcTg3dzl2Uk5qY3Jk?= =?utf-8?B?emZYSVhGdDNCQnNqVDRCTHhnZ1JxNXB0Z3ZOTzkwUDdTTzZyTXByLzV6NDBu?= =?utf-8?B?eU9QSnd1LzA0dUtwUWE4MUN2OU1nQVZZVHJYQ2RLOHlkZE9rbjZ0bmZhMlhp?= =?utf-8?B?Ky9zblRwRGJUZUdDLzVuVnB4M2M3aENMVWREemFydTBCbEEzNlE5WGdKcXRl?= =?utf-8?B?RERSMy9rc2Ixb25BRFNram1zeTkwQXFDdE9PV20yNjNxaDFoTVowc0pXL1dM?= =?utf-8?B?NUxRUTVFTE4xc3hPM3FHdmlkWXNOYnpUT0cyZTZvcDRtWUhJaER3NWxXMnFN?= =?utf-8?B?NWJXNktWcjRRVVc5cnZpRDJ4dTVBVFVib3FEbnFQcHJnUGlSaWIwZTZaMWZy?= =?utf-8?B?bEtlWktSYlp4UjVIRFZaSUdWb3l2ZlJYWlpQdDZlTEJmV3hDRFA5cVdKU0k1?= =?utf-8?B?Qm1xcUhNbmxVZmlFLzNsZUJ2RzIyaDdmcDlWc3Rwb05EN09SU2VycWxMQ1dh?= =?utf-8?B?aEpjSFlQTi9TbFpDM25IdHNCS2ZjL0RvYmMyRmtyaUtHbTR6ZHZVZTh4ekpm?= =?utf-8?B?TWt5bGJnYkJkV2NONjZUSmtMQVNvcUliREVsellZRFZSZmt3Sys4NUJHWEV3?= =?utf-8?B?VE54OGVBTzR0ZEV1cExxYmhId0RabjFYbStlOTlpSmltK0tpbS9vR1hBRWo4?= =?utf-8?B?OEd1ZzY1L1N4YU1tQ3BIL0dSY3ZpdmNPVGJ0eWpUS0kxQ3I3OXQ1bHgzZ3B4?= =?utf-8?B?c1FTZXlqVjhwUXFKeGE0UnpMK3BJYkdlSlV5cHQyQWJ3VWZNbXhBWldUY3FW?= =?utf-8?B?dUxhRC9qejkrbjdXVWRCSll1eFV1Snh5M0lBRFRSeldVdlNyanFIUGJWVXIz?= =?utf-8?B?eU52YVNQVmNHVXEzaFFqQW0wMG8zU0dPU05MeU9YN2g3MmdYc1BVSjJsR0VC?= =?utf-8?B?Y05WL0tDZVhFN1g0MytVTEhvZnBZYWREamRtaW5vQVBTUE04djRtNFRPeEgr?= =?utf-8?B?SEVmblVBQ1VOdDVVZzZaTE5teUJsYllERUVZL2wxZG1lWjJCTDl2M1hxMWlO?= =?utf-8?B?ZGMwNjZ2dkprVWpQUmR6N0tWSVI2REpGem9UOHZPZTZkYWV3WHJzWGw3ZGI5?= =?utf-8?B?dmU0TUdtQy84d0Z6UGZxOC82OFRYYmNwV2djZ0ZmSm5DMVhxUERPT2htWmJn?= =?utf-8?B?aEVLT01HSzJocS9LcnJQM2dqb3RPdFFqZ2lPekVObHRYOFJRWGZSTlliVE9R?= =?utf-8?B?ZktXZ1EzaldjUk1WZjVDMytUbFNTaW5EVFlKOVlqL2NMUDVaQ3dyVjNsai9t?= =?utf-8?B?OTM0a3N2dFFSK2cwa00xZDVtU0FENGNqNUttZUJoaWxPU3p3QUUyb0hSYmdB?= =?utf-8?B?V0tXTDZWV1FhV2dkOE12Zi9zRE80endoTHdxOE81TStzMDkwY09Pb09BUGpG?= =?utf-8?B?YU1JSGprbUhWdVNTeDNXRUFXaTB2MHM4S2cyZEN1VEkrNVYxTCtXT2lwMnFV?= =?utf-8?B?Tm8yT0ZzVk1SN1RNRWRkZmd4Qkgwa2k2NE9CeFBuNmEvTHlML0JXNng3M2h1?= =?utf-8?B?TDV6anZqWmxYV09SbkZ0bm5vRExBR1VMdmxTZEhsMzQvdldmWXZBQTBiK3B0?= =?utf-8?B?MG9GeDBFMmdROVRDZFpwUnNJUjJXRnh5dXVOZVZBZ0ZFY3g3d1hnMUxUdGRL?= =?utf-8?Q?N3GCawB8Mis=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL3PR11MB6508.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?d2EvMzZvbXhSRWNndEsxaVB3eDdxOHVGc0duM2FBNDRUaGVJeGFJZnVYNEN3?= =?utf-8?B?V1JJNjJPWDNESm1iOVR5RzBpbHptZGVuYXdpZ3krVjdEME5TSk1xVWp1R25Z?= =?utf-8?B?eE0vajJUbjN3WWVPT2FROGp5V1F6N2tOczFmK3RCcmtGM2JPMzlhZDF5Y0JN?= =?utf-8?B?MkpCS3gxTFdxOHJKdXhneG1KbHI0bjFWS0ZYMndOLzVOM0NhcmFvRkdPYlcv?= =?utf-8?B?RUNzUUpwSHovMXRKMklwdUVKNE16Nmo3a1luNGdVak1NUkQ2SVdEa3JqV1U0?= =?utf-8?B?T3VKWUxCZFZrSENyWksrOElTd3UyTzZtSWlXMG9ZRVQ5TEl0VEJmdnhrY2Fj?= =?utf-8?B?SlVRd0FXWmtwb0JrQ0M1N2NFYWlvR01PUklVTEdFVW1FNVB2WGhuN29qbUsz?= =?utf-8?B?dTIxQytCQ2Mwc1dMWEkyUGR1T2VFS09jbE1kTHFaRit0clcvNVA4ZXJnUW1G?= =?utf-8?B?aWJjc0ZjaFJuZk5ON1p0RDlRalZFUS9HU05zTlJubVF1UTFEdXJ0NlhRbG1i?= =?utf-8?B?VVFJdlpxRU5vMk9lMXNQRXZkb0xMMFFNK2Npbm1vNWRxQ0ZyMHN3YjQybFVv?= =?utf-8?B?UjExMVd0SEhwUFoySnNMWStGRkh5WE9nS1pXY2RIMWYyT3JsRE5Xem16bDIv?= =?utf-8?B?WHFVclVXQUx5VnEyOW9jM1J1UGIzVXNSZThJdU9oZGdRQWc3MjdFVk9rNzNZ?= =?utf-8?B?NFpRUDU5d2s2WXR1bnNnYXByWnFYU3d2OUVZUWdBM0NlTTZPNWJSRnZ4TytN?= =?utf-8?B?ai8xK1Z0R2VjQlg1bjdEdmJGSUxDekR4N3JoenRpaU5pYU1vb2hoSDFSREo4?= =?utf-8?B?VWVCS3dwN1NLTUNCOUFNRExOclpUL3lWV3hPY3F3ZUdqbmd2dXlFMTAyNWVP?= =?utf-8?B?cDVJMUgrZGN4MkoxZ0pCWHJSTXU2WDFCNXlkb0FNRUpjaWE5SkhmNGZ4RGdq?= =?utf-8?B?K1VKNDBmcHAyR2FDVnFIN2R3Ni9xaUpXMC9qWkFUVHhDM0dVN1hnOC9BTHhw?= =?utf-8?B?dmxQNDZpOXFsMlVSNXNqcjJ0d2o4M0pROGNUWVMyNnRKenZxWmtDQm9aTzhD?= =?utf-8?B?eHFOL0thVlVFcGQrTVpyektkNW1MRFM0N1Z3OVdXZVlESTUvTGRYUUxsM2dF?= =?utf-8?B?ZG1icmxtZS9JYzBoa1pvb0VRbmx3dSttWXJLR0RwMmxCdUdoandxOGNQdkZ6?= =?utf-8?B?ZmJwemF0aXR2TFhRWEI2aE8vZUJiN3R2Tm55SzJ0OE9DNWZyeUQwR2ozYzFx?= =?utf-8?B?blBWQmRiWThjZTkzMDlCZXVSbkRmaGFGMm01OUVsUU54K05BblJtNDdXQzk1?= =?utf-8?B?dERFZEJ6cHBSd2lQQ25ORytLSGtGRGZtVDRVUXFiMHB1RDZnVmdPL1JId1JV?= =?utf-8?B?Q1JHbW5reVNIc2hhRWpHbzc1RUZzQ1YzemRYdkFmMDhsWU1QNjVTNXFrR1Fa?= =?utf-8?B?TGthbFJjakRjZzVLc3BNem1SYnJML2lBaEtsU21lbzNQNktIdWNiRFhWYjRS?= =?utf-8?B?YTN5L2Jqdk8rR1F3REF5eTF3dFZZM1l1VHRmQ1pNMjRzWlVsMlFlZDdtZ2xn?= =?utf-8?B?TkpEVjRENVFWNjhaWlZQN2YyMkRvVUJCMjlVZHFMSzRnTllEOTFEZkpNVnps?= =?utf-8?B?clB0THJMdWN5QjNDSjg5KzN5dmxONFpaREpZa2svd0lRS1M3Nm9RQmJvMy9N?= =?utf-8?B?OEl2a1R5YVhtc2FRMzFyYVRCWHlBb1FZdGpWdWhVMGx2cTVEdTJyYkM1b0FJ?= =?utf-8?B?QjFJVEVjWTBLenhCM0xVcG1QdFlTUjdiNVBoeUMwRkN4NDllRzZzdkRndkx3?= =?utf-8?B?QlArbDd4TG5YUFRHTXNGYUd3aHFMT24xbkw1c3piYXd0U0xaWWowR2haYU5x?= =?utf-8?B?TXJFalZHZGV3SS9OSnVhZGYyQis5MXI5L29RVVZJNndxdlBLYk9FYkY5S2Mw?= =?utf-8?B?THNva0o5ekp0VFc4MHNqRDZURFZxQkg3OThJcXo0bWswWnFjd2tNWG1OYks2?= =?utf-8?B?TXRJaXpoNWlxS203MzdGQVdjVHhaVlhseENCTCtYQzVyU2tYc3BvRjRxejEv?= =?utf-8?B?OEtrUUluQ0taTTZWRG96eVBJRWRlQ2tiOGpuTU9YWDh6V25PaTlhTTllVE5K?= =?utf-8?B?bzV0Q1FzQUl4bFVkWWhGN3FGOXVnSUl5OUZOOVJ3SlZRWjM1QnhzRjJCNmVu?= =?utf-8?B?OGc9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: 6a22bc9d-b7ea-475b-948d-08ddc58b1902 X-MS-Exchange-CrossTenant-AuthSource: BL3PR11MB6508.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jul 2025 23:38:57.1062 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: dAJad1hzCDBOemUyH8yw7sf3inDxvgWhLvbdMQzezlEWcP/MtM1dtwE/YK+f9xS2WAGu/zdMee2f5FkqURLicg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR11MB4777 X-OriginatorOrg: intel.com X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 33622A0007 X-Stat-Signature: g6cemqy4nh6hdd5rke1esiye8yhnzc45 X-Rspam-User: X-HE-Tag: 1752795542-171514 X-HE-Meta: U2FsdGVkX1+RtI+bQ+UbAfjaZnDu4ZrclyADx5gM0Ns+R18M0XJFj75bVOJTxUQIHpsV86Rc6pkxbpHhYzZ34wrcWM+MT0hKdF6SlqbfahxfhnMW6KronaGT3iG+isp9EhxRgj7Hrig5L/vLFIuy8oBSVEgKT1p6jjul1i43rp3t8R0NiSZvX8Gmny5mg9U/xtV5O0Aiuuv3fuaEN7K6WlW9/MBrFabg9HrK0vYkIj6ThXbcCgD1aaROb9qi0CPD+2ctmdijcfzVZjxF9qEVSFHlIL6mxfyBRlpY02ANjACsmZPR9lh/VSwKB/Ru54AjWBp9UGJ0BVLS6jTFr6DNd3PO8/Ip/pfGv+8vwf12yeK6KIUwTXTfW2yprR88I0MmpwVYlr/Mz8Psl53rndJ8Vr0qtqDCNHcRkKxcDrON0lEPVQ+zeN6y/CfKd3dpw5wsPRSbUvASw/CaEM4WJo4U2LB6u1ytwfbnJrmBPMaJtqQvVkM2Gd2qZFa52oJ/inmT7X6VA+EhgIg4H4kkFZAfmHkRruyrNV93tzsmT2Pm70xxge820kbPl/VOw3RNb3ymf7FNcLRCIP8VWM7kN2wDQV1jbZB5W3z3RAau654ddULlToKqNWssU9PApTSi5KHG18EEzLt3cLa3X1QfzbzkuU8jiO9dWU9WhOzupxKTun9x9bUHfgutmOCmI8Af2X9Y+If9qkLYZHgCbi2EdcaQYJdA38Ug112p/C/8+89DCk4E9EybURhROR6mDdcUtwvvVXJTbm2tXzKMXNL4f73tP6LRkkY6K1VyNhk6O4+hODg2fbErTiQcWahLd2xQ5u5nQqZqbpcLFqIWn8ZNvO3fipD1yCBh+wnFYOEyb87kCEVC1bb8EIpzZeji4722FO0DTQTvjjRxYGJZUyZDvGomVlp20rUdAMX1nc795ds6v0Aqj+Jg2pE58qM5A40wqq2SiNLMx53HS3TQgvUnDux YZarzIga JdKYHJigiqBlyRnq3JioOvi62R2/CILSt0bG856hVSFAfNiq0/TELlMVqRN/5nEhCwmcu8JR9ncb1yww/o3PASxCm7WV8TlsfIpJCvl0Xf2f4mLp/LuJ7GLk7R4J9oPC3JuFiy6B7XElhoSMhxH97iDqeRo28aBLGZNOie9Q/xixVxtAG9OkBVd8DEkux4liqW86ZvjNcPIqB1/kXEK8v81mxewq72C/3dG1vWPv16bT39JrA2edLYPLJy+NgdQZcL8DqJz2emO0HAGV/tnyKrOyt2wp8abNBaq6k1UPvEY5dd7zS7XmKttt094WKrwh3rmj9JPkM7cYnHo6osrg4cydWd7sgnfEm6nlIwGnTEk5NWAtL4MxqXobjCEUVmC56/roIuSJpPHykaeextcTeanOz4VoUGQQodBuLJ/o6uMsFWhhLhGy1HDsJwgDbG3SeMy8U28VimHL4gLHpiMR5/pwlVp8mcGmXb4XTnIZlYuUXnngkEnbmNihPaw5QM2gus3V3NsYLNMC3+kC2GDROMYZotZcZulJ1RYm/s8J8TAJkZ8jKu3TfxiUjathOU+76rZ1jB3pSzPFmtjpYMPKnsQG0HJ8tCyJ8nQ0FrrqpxQRJzQp/pOmMT/WhnCzhavDj9AC2W6Ox6WoHvCq96sKdfWGRyYMwJ0jiKzAIbDs+V2Zsdt0lESgZdBtYsDVqxXXkSsDEFek5E2SQpqFM0wXc1YJGGH06KyBiwjEqPHJj5HfkR3llf8vr+lamAGOMZsSMl0mfJtmoPn1YxHJX0ocf7P18vwEywH+4iD9HRqkSA9wRnNEnZj5fh05wbnmCaOvvu2/aqvefL3HR+z1Xg2HX8quTz0WixSb4ZOin 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 Fri, Jul 04, 2025 at 09:34:59AM +1000, 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]: > Thanks for the patches, results look very promising. I wanted to give some quick feedback: - You appear to have missed updating hmm_range_fault, specifically hmm_vma_handle_pmd, to check for device-private entries and populate the HMM PFNs accordingly. My colleague François has a fix for this if you're interested. - I believe copy_huge_pmd also needs to be updated to avoid installing a migration entry if the swap entry is device-private. I don't have an exact fix yet due to my limited experience with core MM. The test case that triggers this is fairly simple: fault in a 2MB device page on the GPU, then fork a process that reads the page — the kernel crashes in this scenario. Matt > 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 | 607 ++++++++++++++++++++++++- > 19 files changed, 1874 insertions(+), 312 deletions(-) > > -- > 2.49.0 >