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 EE63FC02188 for ; Mon, 27 Jan 2025 12:37:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8223828014F; Mon, 27 Jan 2025 07:37:29 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7D26D28014D; Mon, 27 Jan 2025 07:37:29 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 672B328014F; Mon, 27 Jan 2025 07:37:29 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 40E3628014D for ; Mon, 27 Jan 2025 07:37:29 -0500 (EST) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id E2F49A1FE7 for ; Mon, 27 Jan 2025 12:37:28 +0000 (UTC) X-FDA: 83053182576.04.0A359B9 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2046.outbound.protection.outlook.com [40.107.243.46]) by imf27.hostedemail.com (Postfix) with ESMTP id E987E40003 for ; Mon, 27 Jan 2025 12:37:25 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=Z20U0KNP; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf27.hostedemail.com: domain of ziy@nvidia.com designates 40.107.243.46 as permitted sender) smtp.mailfrom=ziy@nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1737981446; a=rsa-sha256; cv=pass; b=5jJhv+VH+MfeLwNBnLX5NQPlivWZpmaMnwEdpfwt6Qd2YBn6OSld6LkktBbUh7DDVupSYi fDjAwGVOgV1SnKdj9lw8tKFV06q4j/ayY0hwA4h2oPM2SPHlXowMTI0QdCjvKCem4fcpVD pHNHptNdeqleW8sLvn+YwZXX0Y5kJ8I= ARC-Authentication-Results: i=2; imf27.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=Z20U0KNP; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf27.hostedemail.com: domain of ziy@nvidia.com designates 40.107.243.46 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=1737981446; 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=j52/rJgKXrxwXscpi7VIsJlMxRZ1oDqWJQamdB955EM=; b=WpcwEB5oqWCHHNDvj/RxEOXwaZySCLOfCzkqNLq95EkfqtgibTpDTDtAH89yEShbDcQYqQ tai8U6FDvXcr3/O6PicV2F8Tmzstq9gE04fzSgV5ItFyT0LVm4b5aEi7vCVzUcdt46H8WL PQ8arKU4ljLsBgWxGprNl4ewwWdLfYI= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=FMKORtqntLktgeLoEvn+ZzkaMnJ6fUaX7nWki8LVqYRxw6dgis6zzukRSkD1LPByTsR5S0zk2KErsSkhhbNqeOunuh6ooJmTkTsYoCjWAnAjG2qLkZDp6hohPhq+yUznG44bIOA1BjPtVU9qpsGFxQU/BSi/JbcHziuats2ajQX8PG8Wdm5L1XxCf0uJw0euVo2UUeYCr0p91iZb7fkX5PCQnbKjs2cbtnQjN0YKUL0dGdYg3a1hR+vyTg0Lu0wRhnPPk9Tz0vy+SFnBx7l00z34zBNh2TrtJvoBGP77IpO9gNqEvxJaPUZEVEh4+pJYBSAA/IcoQ4FrCFKNOOAXZA== 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=j52/rJgKXrxwXscpi7VIsJlMxRZ1oDqWJQamdB955EM=; b=wvNNSgOSi0QrTzQQJGQkQwRfuL4xpkkQ/djufAg1ncymLrLCz7Mmjt6p385w9ue5p/vZabW9HyFFwA9KtQiIrRvzY+4jFzia8ebVpb5lE2zl2mlugaKlRegbXKS9Ueq7mET2U6tQTxZaMkbPcygYngQHa/kotG3A7m7CsiFJSq/cA7Fbf815ifd5B/MEN3LXwQM6ff8/kIrnCIg0tOb+7Sa6Lfq6uWpWooix5QEbfC9nVlm1C8/2X4ZS16f2p1ywVlLEblzix6LVp3ukqmqstVh/ghPy02PipVtyEGNOEfyovYFA7ShDywcq2AcgRL8irbhzhCFnDWlaQJBWI2gnBg== 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=j52/rJgKXrxwXscpi7VIsJlMxRZ1oDqWJQamdB955EM=; b=Z20U0KNPnSq5SVwDL3Lhksbj6z6+NfFtm8OeIpxjbrdUKYM3XXjtWhMTj/h5i4uPGJIuqxXGk+6YcKU6UatFKjlF4P8aNk4GyrM2ckmbu7/j7iJPrJDM6pkNVVRB1Jqfcy5Te+YBXuWK/BsFBAIEdZN6aLPcW6LkNtfUONHmX5MMd/btM1Y2/2e4h9uvQyhEbgqsSNUKjN5LFt8m6Wbe0gf2oyzMBBC5v2tVgqKY3Nw+9tdJ8ErSWs0karRJYAigrSpcu7k0o7C3Q5idbI84ICTn+EouR6t3ahHS0swq14VjO3OoSBgq0Fdo5gxQQq64xaOl6E3+6WaBSPorqKAPLw== Received: from DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) by CH3PR12MB9099.namprd12.prod.outlook.com (2603:10b6:610:1a5::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8377.23; Mon, 27 Jan 2025 12:37:22 +0000 Received: from DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::5189:ecec:d84a:133a]) by DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::5189:ecec:d84a:133a%5]) with mapi id 15.20.8377.021; Mon, 27 Jan 2025 12:37:22 +0000 From: Zi Yan To: David Rientjes , Shivank Garg Cc: akpm@linux-foundation.org, lsf-pc@lists.linux-foundation.org, linux-mm@kvack.org, AneeshKumar.KizhakeVeetil@arm.com, baolin.wang@linux.alibaba.com, bharata@amd.com, david@redhat.com, gregory.price@memverge.com, honggyu.kim@sk.com, jane.chu@oracle.com, jhubbard@nvidia.com, jon.grimm@amd.com, k.shutemov@gmail.com, leesuyeon0506@gmail.com, leillc@google.com, liam.howlett@oracle.com, linux-kernel@vger.kernel.org, mel.gorman@gmail.com, Michael.Day@amd.com, Raghavendra.KodsaraThimmappa@amd.com, riel@surriel.com, santosh.shukla@amd.com, shy828301@gmail.com, sj@kernel.org, wangkefeng.wang@huawei.com, weixugc@google.com, willy@infradead.org, ying.huang@linux.alibaba.com Subject: Re: [LSF/MM/BPF TOPIC] Enhancements to Page Migration with Multi-threading and Batch Offloading to DMA Date: Mon, 27 Jan 2025 07:37:19 -0500 X-Mailer: MailMate (2.0r6216) Message-ID: <520F7E0B-E0B7-4A84-9046-B8B5FC6EA9F7@nvidia.com> In-Reply-To: <3b59ea3e-04db-ad38-97b1-20cff0f8f17c@google.com> References: <3b59ea3e-04db-ad38-97b1-20cff0f8f17c@google.com> Content-Type: text/plain Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MN2PR14CA0019.namprd14.prod.outlook.com (2603:10b6:208:23e::24) To DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR12MB9473:EE_|CH3PR12MB9099:EE_ X-MS-Office365-Filtering-Correlation-Id: d5782e82-39a0-4ae5-ba57-08dd3ecf5878 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|376014|366016|13003099007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?YPlObcwuquiVwfjNoYLiayKDurksDJ9fcoYfLw3WtkVbUFqm+bGqxa87zAZ4?= =?us-ascii?Q?lY6hDXQw6wWqye3jlFCpOyp5uMOt/WDN8yFNzYwDQ1gFxZgL3lcOjwbWSm9Z?= =?us-ascii?Q?UxW7QN9M3ZE+dXjhvHB92DIV/ZHpfewCUE9LXSDSlj2cw4q9aP0M1M4LOPOU?= =?us-ascii?Q?z+QevykJU+rYDxD7W0YmFxbluMoRyce27k0JsK8Jlx4YbYiyRCM7c5t12icj?= =?us-ascii?Q?IjeSD5UKcP4dwNkEntNoulP79xpr52/bh6+ab5qyrIL43w3Se3BaO9SAO0Ee?= =?us-ascii?Q?Y2XeSxm8AFHCqX1PQOksx47eavYnyqrYrgK1ZGvXXps/6wNFuBFGMB7RYL5j?= =?us-ascii?Q?n5kuTJ/KMajF0sSzXsslsd8xXHCJ/kDbQYQsYKRLv8uKM3qYTDBoRlg23LFz?= =?us-ascii?Q?vUWitJjaQmGxqR/EgdWJbKpfGcHhqzR9Gm0w/hwkke8vOQvWbkNdwTvXhfXS?= =?us-ascii?Q?QSqEGUaKCKwqPkR07mBn+T0n4LnOsfYFmFQRFn2itodlzGgZvCXykNaeQCcM?= =?us-ascii?Q?0upoQ6mqx2Gk8JfJZL+m2Z/y8+oCp/CtuLuAP0oFEh9IVSySBwARApu6jiRZ?= =?us-ascii?Q?o8WUgXW378TzgQJA47PaEGTgNsmMgYk7ab5tPBSNarbGAwaIJwWA8KVSxoFU?= =?us-ascii?Q?r4a71CzGI7GEahXAv6n4Qr5wnsARsbtIFFCCQBpBMbK4YMut3/nCmGUjQo/u?= =?us-ascii?Q?zZmiFbCTWE/0sxu1cpxHFxj6ElKlWtc6L3nikei1OzZHOU445UFYNvyomQKt?= =?us-ascii?Q?gmXN1ML5C4RzrMqH4/voFV/UOZlnsAvfBUvymNDmFjxRVZYHJDTmwIdc/KSM?= =?us-ascii?Q?VL8pZ0k5ABV922CqBcPGUFxFZZg0SBHywwXqaKh6LH0JUYSaViDZnwEDRYOo?= =?us-ascii?Q?XwwMUBMn7ik3DO+R3Y7tCVHB/kfRcG0r0wmE7tonRcPXeJhycNXPbPLflcxb?= =?us-ascii?Q?z8cWfhnXrAsAKDyHybBMHHfeVxV2emuABrfbbvmK1pOdHwWWwaIpuGyyY5tN?= =?us-ascii?Q?MkFYtrDXT6q0u+pJ+UuMaGG8/C137mw9mqXC7qX64VjuKJMFMpBSUxRY6SYt?= =?us-ascii?Q?iZZVG5I2MpFzTJcJtMY2vqgBb5suv9C6rtawbH5VNnOtxrZqSjr5CE2NS2Lv?= =?us-ascii?Q?iJi8MNELTyPn7PV1jlkl9IRIE/sD9yN/FjLnwJqsvtOkjJ4M4BnNCeZCOD4c?= =?us-ascii?Q?xd48XC+3YIXfwCJFN9n6O2TdW7dhU+OWrp9In7XQ/nDy0nyakORw5dWB7bUX?= =?us-ascii?Q?g9TGyp7dQcegZ5yMCCvUStxaqLRRSP7F3K62K7Fv/LiijPGq2wEA+fT/QUmy?= =?us-ascii?Q?Mw1yyHwSKX35u3uHAFYn5zo1IxpFmaxI9eNd9VVJ9Mlrxf8R9bKcTFNHJlm6?= =?us-ascii?Q?8HyfbNMh3YOsgv0DQZzcQcuG4+/w?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR12MB9473.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(376014)(366016)(13003099007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?2/VrC2yWWTweElqP+jJNx+ZqLMiDecCFcCpiXJDhcNDE2UD3qh5gdi1YH+1G?= =?us-ascii?Q?lJWsyi7OD1q98HdgUnURmpoOZ2hEwmu8Hc+a3Wfo0vdNW8DD5NcOCsX9pGIn?= =?us-ascii?Q?Osp5rcQRr4SZXHUThPYzr8iA28F2CjZ5YQD5NFqJiLyUfZ08KQjt5EOIAKKJ?= =?us-ascii?Q?fLhckAfcetY1rp5FR/cVwwLdF/D5XYjMN8135QN96qnEtlEhUQiuTWslHoiY?= =?us-ascii?Q?lp+YnxoD5tR/k2hfbtLr0f5O8AHergI3YetWkQ5g/fcxi4YWXvT+KCrGzAk+?= =?us-ascii?Q?o0zYlqYXtFmocDCopyaEG9lhf+svzZmeiLInJy1P2IKcDx8+UEVQqUPQwFYK?= =?us-ascii?Q?Q2IeNWiL5Xe2Pg5yZkvjFKsyqdNy9SOYYYgV6POPd3ZbBg7dAyKB07Krk7qj?= =?us-ascii?Q?ekQMpU6uKCjBJKn/OADUEX0Y0N/HG6fvFdqPXOm8p+0zG3gCds/Ddd3rXI91?= =?us-ascii?Q?z91NwYi8CvvWiFgf+Dg3Dm0kJ4z0G3ZFpNgp4icM/ljVTpZt+HSN7qSCf6ut?= =?us-ascii?Q?/78ZLtsxK9lGr0MI/Grj0Bgg+/dxktZb+cygcxIonu5LsQ47sfNLZwWyUS1K?= =?us-ascii?Q?buMQQlae/fDHS+VOjRj9Y4Xw9l/MkMP66hxcV/JDPglPPdYeNhrNHiiFfzb/?= =?us-ascii?Q?HxHAvczd3SROeoeWxj+AB9WC/hb+MnSTSVTFma2X4AeVCFF7AlJ030HLvcbr?= =?us-ascii?Q?aext+ZqFDo0kIMWgeumNjdyyAjaYOnX7uog8oiFtwRRPxQRqniMJQFgwR3ne?= =?us-ascii?Q?DZuyPwwnf+gYLD0mbYHhDbP8sEhSfAQX7IGLJ053AkW2RY/siIItK1BnvHeY?= =?us-ascii?Q?Zm50nTMMNBGVm7HB8T9G0wkF7Ocb5CSPXQNhfIAQLBtlQCPGs+yALW9K6fF3?= =?us-ascii?Q?W3f5vVnOa3oS0yaKeYuPuUpKjUwpbDsA6LDs/UPSjLUwWDFsR/s+aT393JYO?= =?us-ascii?Q?F0kEmlSBjjH31v5ZdgTv4xQsRBuDRwM3cyjyfaY0G5tb0hP7X6a3f3ZnbUzp?= =?us-ascii?Q?dSuRFG722HLuJ/l4e5UFZokqYrMitE4HPkm6QCM0sF34clJXVI1RcxyeXiuh?= =?us-ascii?Q?ebAGRl8dTNwe0uO6GTHT+0djRh3/xNbSrOn0aZAS1+UpxCfOsN93zcJC9V+r?= =?us-ascii?Q?GMb43niSPRQs9E9FGjHW+jZ3OIu/I0cm9Pgdi2shl/PJ6/EHhyyZsAMenWzR?= =?us-ascii?Q?pFcWfP/5vCXIUQFB2mUdd1rQ9xevPbgMs1YWFTISF+POPaL9J98PpotVOYXA?= =?us-ascii?Q?xjpWitWALOCu+zuLG8rdugRspbg9fJmBzvw2OREw/+ykX09cOHkw0CiXDDnX?= =?us-ascii?Q?0s9UYhjoxwA+5rNvUoF287fpBgmh2EQQr7oFKU1/zG3wuhKJZBxKEkq+Acdn?= =?us-ascii?Q?dWE8JbppoIbcXxXgVu5fvGLHsjtZlQzMXkVJAroyxyg1FsbYfxTkI62fNDdl?= =?us-ascii?Q?3tUXDN7cD7Vs4gWTEBdwJfeZguu669hsJGIvBGPaUuB/+Fau6WRLl+RD6MF9?= =?us-ascii?Q?QTXRB7hjun5X9pIsc/X+611KO1GLiHwZEMsSyhkuRsrLPGSanWG+/A0I8GV2?= =?us-ascii?Q?rGQMfInz6pCkLWfPIYs=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: d5782e82-39a0-4ae5-ba57-08dd3ecf5878 X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB9473.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2025 12:37:22.1479 (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: kBzeGOSv4eI5PH6kIV+dKiBIdX6+1V4c7EgvdaonpeFfRUd4dZ8w6XqwB3z7NS5j X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB9099 X-Rspam-User: X-Rspamd-Queue-Id: E987E40003 X-Rspamd-Server: rspam10 X-Stat-Signature: oc5aegkrhu44rb3j3p6mtapq9tqriqtc X-HE-Tag: 1737981445-227002 X-HE-Meta: U2FsdGVkX1/kTrdGfZsE2Na1V65vKX27qbK2qOP8WQeGAZ7vTOPqAEt7fti2srIeWH4yxhLtbClV09iWAogAVF9FK6isliOn9BYSwYLNzq+4n0yyl6Jy75V5KNHkeR8vK7U37NPEVaPHIuulucWQ0Lap7ibdS0K/Z5VGMBLN2po3gUG3TDeFZGGXlES9cRhuQsM+l6+oVn2AT1xe3Hufym0JVo0aXOeb4ZXg4isyN/yWcFq2keXNFyOHHIEM9VqoQob1fu8NAy6t6LNy6pEh33Kj+qego8gomF/UxTIrpuPy4opUMoGmoFPzW3zo6qmgyLfyLDu78ouoMXQ9EFgnDluxmpBwWTDvt+QXKp2+oJ/kEe5XsLsBqNsX/iOx51KHoFxIrCJo4KIvyKLByd9Rzmh82z58h9wbhx4mtz9ryGFlNibwDT7nvWreqrz8BcAN3+/4Vxn2a26jVmo0nREzSTOJ7gKiZv6Cb26U92o6i61cXWExA8Pht1/XZTRlVmN4/oG9VnvYTgF/yH1GoDIwyH3jTmSEhQWoSB7MhrQfIbhb/7Qv4PvryBYqRjxnesW9chfg7YQQX8n6rFv00kH2WJJl53+b9WLSh/j+qPhM6BgMeAFL5OrilYoSHG9WZHsMjOaiUeswxvnW1076oeVDe9fOpwV6MFQt3f4pqqiAlHURd/1ZKhbxXNQYSZBCpNLBLBCbmb+5WWra8PPiJ0belti3BqIPzPTxBugPG1XDBlHE2q74uQLFmOr4HQmV+HlNsGCDJ+uit3nd1jZcmv0+aEeplN3ezNv1hwzA9Gr5SWLtLVnwOEMDPUlpAkgENHCc4u+UipVAr/iEtnKqlGtuRe2Nlgos3q4fJxTMZzCw8K3XGbfgRpVxV0rbOElgiJleOfyUQ1hFJNe4VkoYRMDH832046/WN9CbIFmh05zQqevszMC5x47pjntLulAq01e7auhOHyYalVjk7lCbXzW Sif+DQHd mnGQXK7WsyhMasv+ZQshZBDvlHH1AvgNhwhUBS0Z0CaRDd4Fi6f4RIzs9N6h4hsQAVftQJZDDWQ6lCHtopPt4MLWTBkj5M+pDdCg9lJiMnZGLoAy/y3PzGYjqgOze9P/+VXk1k6Kl7P1YZw8L7QEep2HhoqNqL5qPR20Clg6h9+G6YDLGpK8YZ+ggAeoIHIjM42XgKN8n2L286cBF1/HUa9fbbL0OjwgoAbE5BxoKt7XABXKeYBltONYocS/o2S9a05Lk0gUf5Eeu/bpsJ+WG1v2cp71SGyjF3u4+e/nVpHsvw/94vLQQrrRkHosBFbvmrrKcaesXd0hTQ1+DfUdKOPcSAKgoAzvCF2rr8w/nREo7TjnYBeTrlsDsDA+d/JhPZ0mdq1jDC5UZHOTM8e57eS3/9DJB1zwmFNPe8NIP9UyfriE3jVWB2ek5qvthDyZ9k40hGlYnx/18S9pwSLkQ7aNAnW/cEl9+BXfL 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 27 Jan 2025, at 1:55, David Rientjes wrote: > On Thu, 23 Jan 2025, Shivank Garg wrote: > >> Hi all, >> >> Zi Yan and I would like to propose the topic: Enhancements to Page >> Migration with Multi-threading and Batch Offloading to DMA. >> > > I think this would be a very useful topic to discuss, thanks for propos= ing > it. > >> Page migration is a critical operation in NUMA systems that can incur >> significant overheads, affecting memory management performance across >> various workloads. For example, copying folios between DRAM NUMA nodes= >> can take ~25% of the total migration cost for migrating 256MB of data.= >> >> Modern systems are equipped with powerful DMA engines for bulk data >> copying, GPUs, and high CPU core counts. Leveraging these hardware >> capabilities becomes essential for systems where frequent page promoti= on >> and demotion occur - from large-scale tiered-memory systems with CXL n= odes >> to CPU-GPU coherent system with GPU memory exposed as NUMA nodes. >> > > Indeed, there are multiple use cases for optimizations in this area. W= ith > the ramp of memory tiered systems, I think there will be an even greate= r > reliance on memory migration going forward. > > Do you have numbers to share on how offloading, even as a proof of > concept, moves the needle compared to traditional and sequential memory= > migration? For multithreaded page migration, you can see my RFC patchset[1]: on NVIDIA Grace: The 32-thread copy throughput can be up to 10x of single thread serial fo= lio copy. Batching folio copy not only benefits huge page but also base page. 64KB (GB/s): vanilla mt_1 mt_2 mt_4 mt_8 mt_16 mt_32 32 5.43 4.90 5.65 7.31 7.60 8.61 6.43 256 6.95 6.89 9.28 14.67 22.41 23.39 23.93 512 7.88 7.26 10.15 17.53 27.82 27.88 33.93 768 7.65 7.42 10.46 18.59 28.65 29.67 30.76 1024 7.46 8.01 10.90 17.77 27.04 32.18 38.80 2MB mTHP (GB/s): vanilla mt_1 mt_2 mt_4 mt_8 mt_16 mt_32 1 5.94 2.90 6.90 8.56 11.16 8.76 6.41 2 7.67 5.57 7.11 12.48 17.37 15.68 14.10 4 8.01 6.04 10.25 20.14 22.52 27.79 25.28 8 8.42 7.00 11.41 24.73 33.96 32.62 39.55 16 9.41 6.91 12.23 27.51 43.95 49.15 51.38 32 10.23 7.15 13.03 29.52 49.49 69.98 71.51 64 9.40 7.37 13.88 30.38 52.00 76.89 79.41 128 8.59 7.23 14.20 28.39 49.98 78.27 90.18 256 8.43 7.16 14.59 28.14 48.78 76.88 92.28 512 8.31 7.78 14.40 26.20 43.31 63.91 75.21 768 8.30 7.86 14.83 27.41 46.25 69.85 81.31 1024 8.31 7.90 14.96 27.62 46.75 71.76 83.84 I also ran it on on a two socket Xeon E5-2650 v4: 4KB (GB/s) | ---- | ------- | ---- | ---- | ---- | ---- | ----- | | | vanilla | mt_1 | mt_2 | mt_4 | mt_8 | mt_16 | | ---- | ------- | ---- | ---- | ---- | ---- | ----- | | 512 | 1.12 | 1.19 | 1.20 | 1.26 | 1.27 | 1.35 | | 768 | 1.29 | 1.14 | 1.28 | 1.40 | 1.39 | 1.46 | | 1024 | 1.19 | 1.25 | 1.34 | 1.51 | 1.52 | 1.53 | | 2048 | 1.14 | 1.12 | 1.44 | 1.61 | 1.73 | 1.71 | | 4096 | 1.09 | 1.14 | 1.46 | 1.64 | 1.81 | 1.78 | 2MB (GB/s) | ---- | ------- | ---- | ---- | ----- | ----- | ----- | | | vanilla | mt_1 | mt_2 | mt_4 | mt_8 | mt_16 | | ---- | ------- | ---- | ---- | ----- | ----- | ----- | | 1 | 2.03 | 2.21 | 2.69 | 2.93 | 3.17 | 3.14 | | 2 | 2.28 | 2.13 | 3.54 | 4.50 | 4.72 | 4.72 | | 4 | 2.92 | 2.93 | 4.44 | 6.50 | 7.24 | 7.06 | | 8 | 2.29 | 2.37 | 3.21 | 6.86 | 8.83 | 8.44 | | 16 | 2.10 | 2.09 | 4.57 | 8.06 | 8.32 | 9.70 | | 32 | 2.22 | 2.21 | 4.43 | 8.96 | 9.37 | 11.54 | | 64 | 2.35 | 2.35 | 3.15 | 7.77 | 10.77 | 13.61 | | 128 | 2.48 | 2.53 | 5.12 | 8.18 | 11.01 | 15.62 | | 256 | 2.55 | 2.53 | 5.44 | 8.25 | 12.73 | 16.49 | | 512 | 2.61 | 2.52 | 5.73 | 11.26 | 17.18 | 16.97 | | 768 | 2.55 | 2.53 | 5.90 | 11.41 | 14.86 | 17.15 | | 1024 | 2.56 | 2.52 | 5.99 | 11.46 | 16.77 | 17.25 | Shivank ran it on AMD EPYC Zen 5, after some tuning (spread threads on di= fferent CCDs): 2MB pages (GB/s): nr_pages vanilla mt:0 mt:1 mt:2 mt:4 mt:= 8 mt:16 mt:32 1 10.74 11.04 4.68 8.17 6.47 6.0= 9 3.97 6.20 2 12.44 4.90 11.19 14.10 15.33 8.4= 5 10.09 9.97 4 14.82 9.80 11.93 18.35 21.82 17.= 09 10.53 7.51 8 16.13 9.91 15.26 11.85 26.53 13.= 09 12.71 13.75 16 15.99 8.81 13.84 22.43 33.89 11.= 91 12.30 13.26 32 14.03 11.37 17.54 23.96 57.07 18.= 78 19.51 21.29 64 15.79 9.55 22.19 33.17 57.18 65.= 51 55.39 62.53 128 18.22 16.65 21.49 30.73 52.99 61.= 05 58.44 60.38 256 19.78 20.56 24.72 34.94 56.73 71.= 11 61.83 62.77 512 20.27 21.40 27.47 39.23 65.72 67.= 97 70.48 71.39 1024 20.48 21.48 27.48 38.30 68.62 77.= 94 78.00 78.95 > >> Existing page migration performs sequential page copying, underutilizi= ng >> modern CPU architectures and high-bandwidth memory subsystems. >> >> We have proposed and posted RFCs to enhance page migration through thr= ee >> key techniques: >> 1. Batching migration operations for bulk copying data [1] >> 2. Multi-threaded folio copying [2] >> 3. DMA offloading to hardware accelerators [1] >> > > Curious: does memory migration of pages that are actively undergoing DM= A > with hardware assist fit into any of these? It should be similar to 3, but in this case, DMA is used to copy pages between NUMA nodes, whereas traditional DMA page migration is used to cop= y pages between host and devices. > >> By employing batching and multi-threaded folio copying, we are able to= >> achieve significant improvements in page migration throughput for larg= e >> pages. >> >> Discussion points: >> 1. Performance: >> a. Policy decision for DMA and CPU selection >> b. Platform-specific scheduling of folio-copy worker threads for be= tter >> bandwidth utilization > > Why platform specific? I *assume* this means a generic framework that = can > optimize for scheduling based on the underlying hardware and not specif= ic > implementations that can only be used on AMD, for example. Is that the= > case? I think the framework will be generic but the CPU scheduling (which core to choose for page copying) will be different from vendor to vendor. Due to existing CPU structure, like chiplet design, a single CPU scheduli= ng algorithm does not fit for CPUs from different vendors. For example, on NVIDIA Grace, you can use any CPUs to copy pages and always achieve high page copy throughput, but on AMD CPUs with multiple CCDs, spreading copy threads across different CCDs can achieve much higher page copy throughpu= t than putting all threads in a single CCD. I assume Intel CPUs with chiple= t design would see the same result. > >> c. Using Non-temporal instructions for CPU-based memcpy >> d. Upscaling/downscaling worker threads based on migration size, CP= U >> availability (system load), bandwidth saturation, etc. >> 2. Interface requirements with DMA hardware: >> a. Standardizing APIs for DMA drivers and support for different DMA= >> drivers >> b. Enhancing DMA drivers for bulk copying (e.g., SDXi Engine) >> 3. Resources Accounting: >> a. CPU cgroups accounting and fairness [3] >> b. Who bears migration cost? - (Migration cost attribution) >> >> References: >> [1] https://lore.kernel.org/all/20240614221525.19170-1-shivankg@amd.co= m >> [2] https://lore.kernel.org/all/20250103172419.4148674-1-ziy@nvidia.co= m >> [3] https://lore.kernel.org/all/CAHbLzkpoKP0fVZP5b10wdzAMDLWysDy7oH0qa= UssiUXj80R6bw@mail.gmail.com >> [1] https://lore.kernel.org/all/20250103172419.4148674-1-ziy@nvidia.com/ -- Best Regards, Yan, Zi