From patchwork Thu Mar 6 04:42:28 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Balbir Singh X-Patchwork-Id: 14003808 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 7B6BFC282D1 for ; Thu, 6 Mar 2025 04:43:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6DC2C6B0085; Wed, 5 Mar 2025 23:43:40 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 666526B0088; Wed, 5 Mar 2025 23:43:40 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 492156B0089; Wed, 5 Mar 2025 23:43:40 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 23E346B0085 for ; Wed, 5 Mar 2025 23:43:40 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id E579C1C9F8B for ; Thu, 6 Mar 2025 04:43:39 +0000 (UTC) X-FDA: 83189882958.14.7D719C1 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2079.outbound.protection.outlook.com [40.107.244.79]) by imf19.hostedemail.com (Postfix) with ESMTP id 2DC5E1A0005 for ; Thu, 6 Mar 2025 04:43:36 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b="M/+XCAh0"; spf=pass (imf19.hostedemail.com: domain of balbirs@nvidia.com designates 40.107.244.79 as permitted sender) smtp.mailfrom=balbirs@nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); dmarc=pass (policy=reject) header.from=nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741236217; 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: references:dkim-signature; bh=LEiN1R594GiUTbIEP1lF9AXj6UN5pBWNtHkFzo5QNmQ=; b=mIbK7XYSHUQjncNkWxCoY0Xz0avEsTPC2t2SRPtEgF7pOrMtx1xI2KyLxz3eF/zoSrnjg7 Wd134U1r4JToGuLxbfVFJL2iMzFHGRp/rmUmPh3gT6kXIxwzdhVTkrNB/jjMkzfG0j3sYf WyiEvj7GGjUgmjHE68/PbdtWbNBzpB0= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1741236217; a=rsa-sha256; cv=pass; b=syAVfkGs46bTVtQ0ErseV5WuACzqgBtTMmORYw8agt9mPRqBov1jlejutrDy6zNVgoyFWB 8W1AUzmDG+OROHfjtN4nhMQdyj8HgCdOOzcNirqqm0uQB1z9kADbfJ9F+H2Yq/VhcGY8/s xt/jCk7tn7TvwRJ1s93eMbD/YmM9dAI= ARC-Authentication-Results: i=2; imf19.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b="M/+XCAh0"; spf=pass (imf19.hostedemail.com: domain of balbirs@nvidia.com designates 40.107.244.79 as permitted sender) smtp.mailfrom=balbirs@nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); dmarc=pass (policy=reject) header.from=nvidia.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lRU8MEYKsrAhkzRWRgnvqXl8yiCHVxVODx0vI6GlqRRUP5hEIG6GJU/48jXSfE31AhO1m3TrTmS0MFH/gFbklina8+fPd8FkZifpFN/AYji1Sa4dJtn1/DIe5T5X25+5XhG3AJ+UCXw1FPjC1TkRbtzEnze6Q/zqO4VFLAwRAAH6XeaU+OKhuJGpao18CNtmlcQ8qdNBXKl5HOsnGJtfBBL/GTzHLgnzKqUN66cKSAhBIuMUZSDVLBH5AZ0WDutkbeehjxOq0KCZTR4BsSc0avcXanvQjBqRvocQVaue+qOgyupKAjkqB9CXIXiBFnt5I5PHEmHWoVYelNam3ha5pw== 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=LEiN1R594GiUTbIEP1lF9AXj6UN5pBWNtHkFzo5QNmQ=; b=VSMUWUspZzbXCV8TDysABk2ZVI6S/tw9qPVZ7QoIIqIls1XLlkzT3sVW6zBEcvTzcysi4JLbwmedHsCddoPMGDp/5Vf2TSJKnYVkt+z2O2cRRby+50dteEY/MiJQK6G935lgnLszU9nXfIJj7zHvWyEIEE/0NyiyBXkjOPM32uU64NU5SdoXKvc88f5Vjxy3/6okXY9YLy0f9MV8ZryanjLyR5e9SWPebSsCZkeXMUPkVbSkCtxCAyAyn8UVig2mNQ8gmMKWFLc/We5ssvv6DX/nfo8gsjuxdQhr3Mn8bjiXPDC7/95gVI4mjh/mTPkst1AZv5Tq0GNBZH/vh6Kk7Q== 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=LEiN1R594GiUTbIEP1lF9AXj6UN5pBWNtHkFzo5QNmQ=; b=M/+XCAh0PGqlwnjDWpxhcj0Kf/vP0bvfr5233KJ9Y+BoowMne/V2ooR/EilcJmC+XyessbC+0G2zqIfQCP/d3qJKZhi41MMDtNXBvjZ1jqUC7RoBmmh8Rt4L9Jqg8fjWEBUUuUpcDlS4RLsjecR0vHnkXivVPpxKqu31y00DPtwfG8N/s3AgvdAPMIzimN9vwG0qL7wrSbuwOSOxE5j14f9qgzhnnQVOsf4G2mWdjEJ1zaa57x7W1FAaAztfWZK4BbwBVSX7PFFGENBzib39Xw+FrgqX9pe5UUu4/1LTk+y3P6ScTdsbUtYgGgRMACte3gvuALKMMAWJax/evnYCkw== Received: from SA1PR12MB7272.namprd12.prod.outlook.com (2603:10b6:806:2b6::7) by DS0PR12MB7534.namprd12.prod.outlook.com (2603:10b6:8:139::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.25; Thu, 6 Mar 2025 04:43:33 +0000 Received: from SA1PR12MB7272.namprd12.prod.outlook.com ([fe80::a970:b87e:819a:1868]) by SA1PR12MB7272.namprd12.prod.outlook.com ([fe80::a970:b87e:819a:1868%7]) with mapi id 15.20.8489.028; Thu, 6 Mar 2025 04:43:33 +0000 From: Balbir Singh To: linux-mm@kvack.org, akpm@linux-foundation.org Cc: dri-devel@lists.freedesktop.org, nouveau@lists.freedesktop.org, Balbir Singh , 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 , Zi Yan , Kefeng Wang , Jane Chu , Alistair Popple , Donet Tom Subject: [RFC 00/11] THP support for zone device pages Date: Thu, 6 Mar 2025 15:42:28 +1100 Message-ID: <20250306044239.3874247-1-balbirs@nvidia.com> X-Mailer: git-send-email 2.48.1 X-ClientProxiedBy: SJ0PR13CA0036.namprd13.prod.outlook.com (2603:10b6:a03:2c2::11) To SA1PR12MB7272.namprd12.prod.outlook.com (2603:10b6:806:2b6::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR12MB7272:EE_|DS0PR12MB7534:EE_ X-MS-Office365-Filtering-Correlation-Id: 350507ea-c07f-4250-295f-08dd5c69730b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?q?/DV/BFzf5pa51jtqlp01Z4zKMOxCeOp?= =?utf-8?q?b9EsnHCrD5T15ElkzKwnGMZUNrh3krGREay5blYqUw1Nb2CTDnptsK5RBuTiOOqna?= =?utf-8?q?dyukrzFTwecde+FOL8CM0bu9R9LxK2jfsWH75zCpDTEwmAQdNYfJ0vZGodzHzyDgk?= =?utf-8?q?tMB0ci8mZxEhUwsEEegTVINAwga0Y2Van2+FCGtH2WEe8DtPiUkrP2sAuxzyWo7jS?= =?utf-8?q?xT82CluGQTwzeTYk7rs5jkfG3TDqGKTRPgYRUXERIC0jMZT9q3cNpgbfNJI6ENJAO?= =?utf-8?q?Cn4pvVxV+yf2mc23m92EImc0I5x8jK8h6x7jRSDPh2rVFFa8o/Iulu9erGXPN/Rgm?= =?utf-8?q?Z2UMhl7ZUiKWfqPsnF4GwQY8VQngZBRP/9tULtmxNMiDWn25D3WEQnwu3CFQn5CS5?= =?utf-8?q?V+Q1vNhROKbBAcQwK8doFX2c77rot54UgkEvrnAtL0AN87aauUF5dnWsDMBokfjXY?= =?utf-8?q?Bu+ypHCTsj8dLgGQwTwwqFseWXfzjb5g6afyIBw5aI3dWFfydgJHc/Obdq8nLjbig?= =?utf-8?q?C0l9zTuwTXSssKVQBDQ3nOnRTC0KJFFEpBo0/2Yz3bkIO6goGeVp+zVQd2m9p7C3v?= =?utf-8?q?PFaNp0LlH4On1Vu3FQq3EwTRjxnGohztnM0oXYqSzFvgkgPx7prW/57ZIbAqLrx0j?= =?utf-8?q?f/ada/PQyXn2vFr5AyO2fwv84aSdzpzX9bP/fi8lU7NE96wnUhlIF5od9kGMz/5r0?= =?utf-8?q?JqjNyb19Z07Qspx0CW8Diqe6GrYI71d5vjjcPybUCJU5VlyJax4Ntt7H9DX0Je8hs?= =?utf-8?q?XnbB9WnneUpxsUrKkTmicImiraP5euj9Vn7J09tByMGV9LUv2X1LrK3KR8rWmrN3A?= =?utf-8?q?g1E7zpfc5hrov277Xy+qRkUW/+9uJffMDQ+rAQslPZgHRwE4GlAMQubd/sZzHrRua?= =?utf-8?q?BtxytdPw7F/9BS+Np7oWuoy771bpMrtqaZQYniuj8KBUHRyBJLy0997Uwdc361p0W?= =?utf-8?q?qNzaNE8nzhohtFNsYkYgUJRDsa1esFSKnan4NfRXATWt/whxoo/4Zzf6L3VBRnrN0?= =?utf-8?q?4arnEESK0gADETE4MwY6MiU26a0QTMZOq0os7J+04/YL1MJOscOnq2tRuY1qxTNNZ?= =?utf-8?q?rvM7dIBNjEUiUnUDalPSsEKP13iMcqaYT31mH/llEB2PabNwVm/aFbLz7aTSuoPd9?= =?utf-8?q?u52+iIFubMdxpuO9aycXaA3iHlpjO5J2T1rOm2AGfAkmIV4yovHblVe0sEIYlmdKL?= =?utf-8?q?pNhZhsF6YcB0XrFx5vEZmCmxhNldspl4s2xaE6EQhU7P65dlCV8/ctTGF2mVgTgJl?= =?utf-8?q?/Fjc1WD3Vvt1qYEOGl0XpaqaiK8A19kELhBo4fr90oIM8YKfvdF8v/zI6aWMzx2EE?= =?utf-8?q?WJozqRtCUywC?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR12MB7272.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?6A1SwgmdQZn0FYjI87x/mhRvTmYE?= =?utf-8?q?BvXARFuSCxI/+uYwePP5LTyyc6KgLuB91FO+TN0YLa1t/eMg7UXoljT07bsMx08B3?= =?utf-8?q?muGL7CcYsE/z/fGMKT+UMGjwX4rr9N+594DOfSObl9VnWOjx5WuaFKSQ3TfHcZ5xJ?= =?utf-8?q?yJnfWQm5kNyQYZXcR4lvzXYuEpFSOaw0YL/ze+AZDfY991u29f/Kn8nAxWFmdj26D?= =?utf-8?q?MQ+eVEFd8UNrbTs/Gj72RLAoibcim6nCQb+FCzysAU1ezJswWzXd6pkpU9JYYKGAY?= =?utf-8?q?FUHizPtHymcG0pki4U6GKzhzNGyZeG9Ml1Ko8BmhNonhx2MSK3ydbtBdIHcgqGnBK?= =?utf-8?q?nNuRfAtw5wvZYarD031cRf7nHbhccHW+5t2nNSTPKtRnZZ6jUNYLXk6l7VaFHl0ua?= =?utf-8?q?iYT51/OQ6+HRXJxJIDrBuu+gqSER3NTs/F0gPVQE+4t0A/mwad8ThFe8fSzFTaMls?= =?utf-8?q?I8TEFMmO4ZiYFdfYe6UP7FwSIuu7qG0C1Gzy9/fV284t8vuRYsDOQCrSPpsr+2Bhs?= =?utf-8?q?JGkVuiHkxGz965BRjLENmjgcRg8kmYEVu4172fOJQNtoWYZFsTRuXdT9885a7jglN?= =?utf-8?q?hckGQG00S2j9nhZCTpEZnqAwKI/VreplRvO3MQZx86SRQAFeGk3qZmF0zFc/RMVUz?= =?utf-8?q?rK4l23nc356+p0RbIYmliR2CpRdhH49bH3HcCdDfH7yFoL23cBY5awWUtwmvbH7Ey?= =?utf-8?q?D1CJn6I4cKxG2nBfcabXRFajPDMYPQoUK6M8+W5IYTrGq08xezO4/BxgxA2KONfdO?= =?utf-8?q?tLeIaMKRz6bpsj0qvqdfpmH3VlB2a6+sBTIadiCheV6dpt7vks2YDgbqLXaoGgiS5?= =?utf-8?q?dfALBzp3P7m0OwOswZMaLlL+p4NmlSQu4LFOfRxnqLdLqBIifgPOue9V1rARhHwbB?= =?utf-8?q?cOayn56RPw4k1FgD28k+7louWFvnUkof4lgWyRzwLX15SiyYKBdvks+G/ZZ/SGSjV?= =?utf-8?q?f7FMgV+kjuPL2HzupnPkRv/6LmDY8PHYmbAEe0RMFxFtZwUEVWKEOqRW7Gvma1Kv+?= =?utf-8?q?tQVqLYWMutqiutIvgvkATfdQCwY0B61aeROGkAPqlfBtoUyLag9k/iRLNz6BZMXtF?= =?utf-8?q?+SAoud4b9VMDvJT8Ku02CfgEBMtgqnc6yEsGwrXw8ur9kMfX3caDm07hO4+dkRww0?= =?utf-8?q?5OKSyGorrhhPkQ/UJd7JpWCtd6QSNwBYGYYoexbojh4rAv6mufX3ojijXiCc6kh6o?= =?utf-8?q?TDwePJNl3sNFQMPMw8yHQNVHrmbW+LZStQH4AENrlGdwUKm/iT5KDgkUpsdtEIKzL?= =?utf-8?q?i570sxJubFMaFuKmHivBEdav5feMMKRqzdeGcDw6u055Px0ToTTK9EdbV31++5NPL?= =?utf-8?q?5UEB+Rq1C/xfkYPx8V52mvhdj7/5R1nbvlMY3/8xSQ/m74NGm47Q+kglRkl0UwipF?= =?utf-8?q?g+7K42VA+Aqet1GrHELG24bAOxkLNMipYkw1AhYJDACzH1+VGD+ONHptRtRA9EB6B?= =?utf-8?q?kq/ALAVVpkeRWBNGmDkBlwPk2Zemfb3U8DarHJyWyIj2aExkNeO5UBBj3cmky6tE8?= =?utf-8?q?LhnoPp6uctxF?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 350507ea-c07f-4250-295f-08dd5c69730b X-MS-Exchange-CrossTenant-AuthSource: SA1PR12MB7272.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2025 04:43:33.0280 (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: oOfSvAdR96V8IjKzYbMA5Hc2f3ZRcqO4qQb1JuyfkJWF/aqi1wKM9RKNdtNHNPtHz/BP+mRkL3TikYU0HiPTJA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7534 X-Rspamd-Server: rspam02 X-Stat-Signature: t4tacq85gg5tpepym4g6wanrieij883o X-Rspamd-Queue-Id: 2DC5E1A0005 X-Rspam-User: X-HE-Tag: 1741236216-889767 X-HE-Meta: U2FsdGVkX1+5O2yIPZizSbeUyZqOdJzTh1CtyfbV/DJm+0neC+v/pxGmOAWczMVzFTraiOoyGnZIA6TM2sV4XDF1Hzbut8TAaIZglXO3QZZWom+l5AZTDA0pBPBPruWadUi6HTB+gjxtC30rZlw/OUHkgKZUxlJ16AqSc1ZAexE3Co/6ftLKx26gnSlgT2ApqmLp7kL9DtSvsKDpuBeanQ+EiNbtugo4HG0kHAcFks8BGwm1WkCe/PxHt5M8WK+E8dNM7eIWABDWQq8dnKFS7A7JyxqChl9NLz0H6MVcYq8tFtyLckVmZ+r+u7V9pY/qUdRSsvsqP8tYf+dNn6zLZXLX4VgrCcsIy8lREl4/0dDLxDNRbH4gzHgOiA4Nmm4Oy+vlXIoG5gnwFWMCM+12uByVjtILqTS4NELtrgIdE3sliP7REVV34iUYuicujtZOsHlMptH8vNsJtRa7ldyCK0rItF8Smwi4raro8Caz3eCyXqTMsaZhZmcsCUgYuqt5xu2wXiKvG+i9mOnYPo5CTXfeHhaMcWYMPK9aOdZ4eiHtg+XJIYgtnMSpwX7DDbiEUusoa5nuCIZDJ4PsmPM91+u6fmmkoeOMs6qgmOgvVtxk3LAMbqKXMcKGg2L/KKjAxwvWeA5ol43AL1qR4JCwd/nW70E1l54mpUYaT4oT5ySHFlaEBMXn81qIQlCr5VrlG3uSPwVcw2ntg4HJ7hYSQx3HHsR6SMX8MVPcOVqBjPwvi3qoObeJNgACqpbpTGePi5AaZTetBfXoxkxEcpq0a7GruYo8KgOsmbsAWUvCKmfNu0Nl+HJkF9yd54O+oe6ygoEjrP9+EsLrQGr9Hyc0bwq5kj7vvAOHyHwPTetjMJTujRW2JMLvFqJYC5JAtNXzOc2cEGF7+6dp6nQXsLbVixZQgcqBQAIisfiprE9xshD3zrCa6sCR7RKgqP2tg7b32TFzF9Z7nMLHTJArz3b 4W5xb0Hb EivcQr5WRM55kK1xWzb6akG50NLYjA8vag5+vI4I12rB/ijsNh5L22PDptCh6+PKmh3gh3u9gOhcINicjh9STJuJHeMe2d96gbmgrxCtJu+H63myYi1IhTMyhuA0w6keOMq8FVlWMKYhiercKJUwlX05FZvBvSkgEkpPxDmgxD1oK2jT7tM55HkjCETfWP3uR4xK08BzbmBewITHtqQuVjsziD8Ve3I0ufRqzwErDCMgg4HKA5/+xpCmSeCbsZT8MjCUQ/XeodU4fuv4fSwDXtNpFFkAkxupzgcKheQ+n8bV2wcC+uD+2joO82qLfQuG6HvUKj8+i2sguzaIXw+KQs13RjQIAJQ/5Y2z7TZ8SItde1gB48M2xBM/96ok9OeUdeGc0ITSbQ/1nlBaRH4FaGSDoEbDXEKygeExg899NAG4FwthGZhkvYt64kmNItuWEGH07MIEKMdEztAd1gCVGqQu8ddJ8cZTizJB8YT5dbjXlUqs93kkVNU9IGh3UWMa28FOnoFejhU2fKxGfEcQ/Nyk68zmz7LRtmxtqdbb9QhXVkSnXvG0fFKTK67OFsXmATHqk0csBNiEsxiQkiBxo3q2kED9zED2/G3Pm7UYY/Xt0RV0N64sSLYS2rwyIsbOfY9RMtAA+OHWY2+uaVqiA857X/5B9QHQ0TYdHK71aPapzuG2qdIE3fFVSa3hyLZhS2YPWIXg4jJrvFCY= 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: 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. The nouveau dmem code has been enhanced to use the new THP migration capability. 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. References: [1] https://lore.kernel.org/linux-mm/20201106005147.20113-1-rcampbell@nvidia.com/ These patches are built on top of mm-everything-2025-03-04-05-51 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 Balbir Singh (11): 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 drivers/gpu/drm/nouveau/nouveau_dmem.c | 244 +++++++++---- 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 | 387 ++++++++++++++++---- lib/test_hmm_uapi.h | 3 + mm/huge_memory.c | 242 +++++++++--- 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/rmap.c | 19 +- tools/testing/selftests/mm/hmm-tests.c | 407 +++++++++++++++++++++ 18 files changed, 1630 insertions(+), 288 deletions(-)