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 B3ABEC0218A for ; Fri, 31 Jan 2025 03:29:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 286D828028B; Thu, 30 Jan 2025 22:29:51 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2370B2800E3; Thu, 30 Jan 2025 22:29:51 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0D72628028B; Thu, 30 Jan 2025 22:29:51 -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 DE1AC2800E3 for ; Thu, 30 Jan 2025 22:29:50 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 698631C747B for ; Fri, 31 Jan 2025 03:29:50 +0000 (UTC) X-FDA: 83066317740.01.68C2C83 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2085.outbound.protection.outlook.com [40.107.93.85]) by imf25.hostedemail.com (Postfix) with ESMTP id 92988A0004 for ; Fri, 31 Jan 2025 03:29:47 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=rPoANBAd; spf=pass (imf25.hostedemail.com: domain of balbirs@nvidia.com designates 40.107.93.85 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=1738294187; 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=V23XaBrGBLNbOZia0CAWxUS5Ra2BLlyNMor90ZuGbSM=; b=QgVoURZUYQoM8i27bisI0JRXvPzXy2P57/Fj4CVAmWh/MFsFjxaa1AwwX0tWa3ia5FM2Dn tMJxTeu5wgSWLW/0gr+Y0y44ORPFQh1sFlKy7urgEe/GrdEE33A0ys5THfqKaAi5HqrEIv y240TPam/Nxw0SCptvYC7luqMTF4hdM= ARC-Authentication-Results: i=2; imf25.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=rPoANBAd; spf=pass (imf25.hostedemail.com: domain of balbirs@nvidia.com designates 40.107.93.85 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=1738294187; a=rsa-sha256; cv=pass; b=1UE5JuRUDnCYiGK9vZ3tgSniL7xc7thJrNQIS26NiK3dTT0g3Q5AmXa0U/Ssm4KotoIuq0 VRFSP9YLZVZxy6G0V83ML1w8WhaygBY1XZQe2eDkWB0h9RWfHDB5HSHFzHGGmFeDUpxA6b 70VefO59gjiuWcXdN5n6jMC+Q6TzJAk= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=icqhm7KA6LNAit9ZLIY0U4svNAY5vv0PzIPyFMLhMvbFQNwpQX+9YhtYLXACSMtCBnAP/x8F3QmcEBUR+/A3Ct3W+pspodGHJDQvMswswy9BJ2AdQXiCipMFdq3eJw+NwovsbuO8QE7CKU8AAGNeq4hYXzZUla65cNdah+laSnEvY9ZJry+F437jukalfO5GN01+DkSN/+22XLDjxRTTo2mql4ppSFV7WJcBLKzldfTa8+pVBDhBLNU1fYR0vf2a4ynAvu95wpyCJ0N8qp8b/+71EJeZHzhhHc3BVP6YjSgy+DqNJ5j0A3iQyiX3dQSY8E7Ffj/GlGr2jLAIf5dJNA== 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=V23XaBrGBLNbOZia0CAWxUS5Ra2BLlyNMor90ZuGbSM=; b=WvyXUjdW5Rxs0Z2WYq2N+DWzMCDq0DJjcmcpVtKP9QWBJenKinkGPVpZE9ZRuY7VE1YpKca6RxSYco2xC3k8fGgHcJnOr8ztgwvR40+V/RClOwNQLlplrg6IwMNx3Cm7d/nEaTlLGNV5Dnl14TZxDivs7AYSnMHl8o3MtfeOVaPwwaoKUXikbFZb22oWy7X4YX0xGcarqXknIn6uFcRjPct1VzJOrE+faYVApDymkTHAvnyf6y/94yrixs5+rhkVQcN7c4RfIIyXXpiBuq0icQ7NzQchhlsKKYGtK1DDi8b1TtKpVQ5Njml6PSOEShrSB2SRCoKbXb1XJtPA+scowg== 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=V23XaBrGBLNbOZia0CAWxUS5Ra2BLlyNMor90ZuGbSM=; b=rPoANBAdhAi1a114BxW13QeFpTNpf/lzPfv+nKWPt3iDivDABDnRzMM1wDmTl8LZF/fJlJLxJ6aQIXFBD6VtjnNMPvJzQzOZepX4vEAdLSFaDdfl6eIwqvxqhi2fOgV8g21PkL/l5ugpdDkcL2ybQRO+yV5Au7w5xGGuijDGJZ3VAvBKqwUVpRHfO7G6x/HQICmFsLmdKDsjQpcoOVfao+IaCCdxgSrsZl1s9MghuXGWp2+ozWLp7BylXBq9ScytOKu5YJthPfy9M/2HHM0QCx1hVPSkFx5OImyczAvNbmT7MoCLyFr/WDWzgOjWe7Jk3Go9Uixw7hBRI9mi8xRS/Q== Received: from SA1PR12MB7272.namprd12.prod.outlook.com (2603:10b6:806:2b6::7) by SJ2PR12MB8652.namprd12.prod.outlook.com (2603:10b6:a03:53a::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8398.18; Fri, 31 Jan 2025 03:29:45 +0000 Received: from SA1PR12MB7272.namprd12.prod.outlook.com ([fe80::a970:b87e:819a:1868]) by SA1PR12MB7272.namprd12.prod.outlook.com ([fe80::a970:b87e:819a:1868%6]) with mapi id 15.20.8377.021; Fri, 31 Jan 2025 03:29:44 +0000 Message-ID: Date: Fri, 31 Jan 2025 14:29:40 +1100 User-Agent: Mozilla Thunderbird Subject: Re: [LSF/MM/BPF TOPIC] The future of ZONE_DEVICE pages To: Alistair Popple , linux-mm@kvack.org Cc: lsf-pc@lists.linux-foundation.org, david@redhat.com, willy@infradead.org, ziy@nvidia.com, jhubbard@nvidia.com, jgg@nvidia.com References: Content-Language: en-US From: Balbir Singh In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: BYAPR07CA0016.namprd07.prod.outlook.com (2603:10b6:a02:bc::29) To SA1PR12MB7272.namprd12.prod.outlook.com (2603:10b6:806:2b6::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR12MB7272:EE_|SJ2PR12MB8652:EE_ X-MS-Office365-Filtering-Correlation-Id: 8edc3365-176d-41a1-0717-08dd41a781ac X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?b2IrdWs3NUJKRXFiZDVBekNZRUpqSXp4aXpBa2VrTmt6R1pHcDd4QzVXZ0ps?= =?utf-8?B?d0U4M0kxUVV5Z05TR0lLeFEvMUlzTzBBT1IzZzQ4bGtUZ3NIc1QvNWJOdWN5?= =?utf-8?B?NE1GYURGdDVydmY3aFViZVJ6MXgwUjJGQ05zZXdqSnNMR0dVYWVVdTF2Sklr?= =?utf-8?B?dXFQRnc3T0ErK25QMTdiZis4aFFDVUdiUUNuOHV5eEZ3UHVPU3pIQk5yck9l?= =?utf-8?B?YWNHTE90clFGSVI3WlppbUwvdUxJYVRac08xZnBTaVVqVndsbTdJTVJCRGEv?= =?utf-8?B?TS83NVN3VHo2ajloTG1zQnF5WjlyY1NtZlhMNEhtaDJnaFEyZXZvMWVPMGY3?= =?utf-8?B?S1VGYVBsNFVaQXJ6YnVuQjR1ZWxuSlE3Sm8vS1RocnVTdkNHK3BTMHo1S1I3?= =?utf-8?B?RzI4bFJQcEN1RUw1RG5KNlJrVWxrd2NoRnp5R2ErR0JqbENoTk82VHZnMjFq?= =?utf-8?B?dFBMOS9MejVWdVczbnhhZ1B3YkYzWk83aCs3NzBQOWRZT1JFWGNYUGNQbUNY?= =?utf-8?B?K2drQnN2akJMc1FhejhmdlVOVDN2L1FGbVVyalFXbmIwcDhwTnN4aWIrV1pw?= =?utf-8?B?SVRvcDFnY3dkWVpMUXBuOUZBN2FVOVdpRXRkZnd0eEdnWTAwQk55WDFnb1pr?= =?utf-8?B?M3hqcjZoeEZMb2VVUldOM3F4MkExUmRwQkVZbFdBRldQcTFmTnkrTmdSTXZh?= =?utf-8?B?SVNpMVlCUUxnRXBsZmRJdkwvVTNFenVjay9xVTBVVm5Dbk1yMldNN1VZYzl3?= =?utf-8?B?c0YrSGhvYXI3bHZxTENqV3dPRkhFeHBqb0hDQWhaa1NNWTZXeWFIUjhwbXZJ?= =?utf-8?B?SzVOVzN4azBTTHpzVmp2cEF1dWM1WVJsYVdYdk5uSjNMUjIxRVNvQ1FmYktX?= =?utf-8?B?WGd1WTllMnlSQTlEY1kyUFJOTHYwbnhPMVJtRHlhcnowV0pIaC8rVDlKYmJG?= =?utf-8?B?Um1Xei8vWWEweFB6WlJVckJuaWZzSyszWC9DQnE5c3FJQzY1blpNbkVzek13?= =?utf-8?B?NGYvMlRsMFk4USs0OWljdUxjSDVtRENVSWZDRlBnU3NTNkVXM3AwU3drM2pJ?= =?utf-8?B?WnFMRXFsdkpqdGdYa3FzdWFCSjR6V2ZtWmdyYS9iVFRUZ2RIRWFlZWcxRklV?= =?utf-8?B?UC9nUUlzUVZxTUhab2lmWE5QMmUrbm15MWF3blN6dXk5SXZhb0Y2aS84YUM4?= =?utf-8?B?Y2RISlh3bjROWnF4SDN6L0plMWkzamRPdjF5eWQwR3BXZWFBN2J0K2Q5ZUpQ?= =?utf-8?B?enlYbEpzV3hSa0FBVk5WanAxMkpxWW1LL1lydWJhdmpZaDVNODNHYWtTaFh6?= =?utf-8?B?ZHlWSCt5R3BXU0wzaWdpNmJLSGJIZ0xHVVNJSGE3S1pxQ2NaNUp4QUFtTGxW?= =?utf-8?B?QWFJa1VRSEgxNWN3N2NjeGVzTzhUMVlBUStPbXVVdXhnYzExS3pzMW9EL21w?= =?utf-8?B?S1UwcFJsYVdvMSs3WFlaSnBsRHRzUTNkbGJnbnVEOUdtMmxIWkc2TW5DOUor?= =?utf-8?B?cGpiNDI5Q3FTOUVlaVpWV211WnVHTXhqZWx3dVlsMU95amtNRzFEMDNCMVZ0?= =?utf-8?B?RW5uUzNwUkU4NHdMZFJrOC9OaldvbERndi85eVcwNUM4YjBIeHRQc0Q5akRS?= =?utf-8?B?dUJHbDhLaFlacTZIbGJWbTU1NXBBTStIcUFjUWpMdkY1S1haOFBJWWpIYVY1?= =?utf-8?B?Mjdnby9pbzFVL0lRQnZRbE92SzhjYkpZbHpGUWpsQlF0MlJiR244N2xvdDU0?= =?utf-8?B?VERtZGpqcGlBZHBIdktJQ2FKdVRpVW9telJFb2hQZmFLZHdWTEY5YytJZnlz?= =?utf-8?B?RnRsRmdVVGFMV1lrd0RtVnZtNDVBY1ZkL3pTck8wdmN0ekloV2YrQ3VrYzJ2?= =?utf-8?Q?2kL5dDdo1pcKg?= 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)(1800799024)(366016)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Y2N2S0cyWFpQQkdsc0x5bVQxL0hQYUZPcVpmT25hdURSa1d6K3hOMDJoa1pJ?= =?utf-8?B?Z01ybVJDL0UvU3N6WHgxUmpCNlllRjV6YWQ5NUZIdnhHZTJnWG1JRTlheWZS?= =?utf-8?B?M1VmS3dWOWszNk9sRVVsS0pZUC9QejdjWVJzMzJPMTBmMVNaMUhjdVUveDRx?= =?utf-8?B?VDQxZ2RHUzhKYzJ4b1Q5eVJsNEk3a3NCa3JmQnFuZ0FtQ2pzZnNTOUc5YVFQ?= =?utf-8?B?a2xoQkpVM0lHUDhpaFgxUkFvdXQ3dnpZSHZvc2R5aHZ2VCsxOThCU2swcXRQ?= =?utf-8?B?Y0VESGpWWUpsT2gyb0NOdmZCd3NQU0lmNENOdTBmR20rcHNrS3hBaG9hc2Vl?= =?utf-8?B?bldwKzV4cy82TVlkMVpGbytKcnVURmVNdU1MOFA5RmtoSE53Z1BEWHFIMVlR?= =?utf-8?B?czBpeXN4MlhCSUVTLzhLd3ZvckRZQUcza2hMOUpOZlk3S20xVEdCaDN0SWlo?= =?utf-8?B?V2psRlpqUklacFBrSm9vVjgvWWtsU2habGhBNnVmZ1NuOWJVd3pTUXVJckFD?= =?utf-8?B?MjZMUWpZcG9hU0VwRy9wWWg0RU5OTnhudElZYUVPNktUWHZPL0o3d0lLQ1Fm?= =?utf-8?B?V0NQd0hNWUJ3bU14N1RXUnJpbjd4N0dkd0hGMjJuN3d6aGdIa2pqSHZ6bnlE?= =?utf-8?B?N3VqN1lIaUdmMi9PRnd1RVg5MHh3Smw4b0ozR29lWVJ1eC83d1hGbWhSVXR0?= =?utf-8?B?NHE1eGFWNzB4QkVDenB3OEhJcTNEYk5ONjJheDRBZkpjOUtHUHpZYXRNczBK?= =?utf-8?B?aURvTzQ4aXZXRmttNVd4a3BvalZwcHB1cXVwS3dnYjZNTHZUSmczdTZkUnFT?= =?utf-8?B?QytvanQwbEcrSnRrc3hmdmdzYWE2bFpHbmQ4aGpvYVpJa0M2NFJoVWpkQUJ2?= =?utf-8?B?QTQ1VjVKdy9WUGZGbEYxdHhxMmp3TU0vOUtmRW94YUdCOE95ckNPUCtaMFdk?= =?utf-8?B?ZWNtYXhIQnl2TVBJM0VONzMyNDQwK2djSS8vYTNsdVM4K1R4Y0EvZlZlYzhi?= =?utf-8?B?R1NBSGN2WnhRRjZXeUNYSkl6ajJXb2pJOCtBQkNsclhmM1lpeml6ckFjZGww?= =?utf-8?B?ZDJORUdrcUhXakp4bkFRRis5UGFRbVNub25xL2sxWmtwODFNTE9sWERSTlpS?= =?utf-8?B?VWViWE5aemYzWEk2dW5zWXVhY0pWUjkzbDlIWkhNTGI4OFFpYWhaRXlyMDRG?= =?utf-8?B?L2RYOTdkTWR1cXZzUDJYSnFPTnJlYUJxU1hyaU5BU21wV1dZenp1U0ErQmtx?= =?utf-8?B?K3R4R0FOa1g5ZUdKSFpudG9QTGxVR1JuRi9PZDhTWktpMUgvN3pRM1FSWnFx?= =?utf-8?B?TnZUMXkzYlFqV2dRRmZiSGxFRVdnNFlKdzNlc1dWN2RWbDNHTXJHMERXZlk4?= =?utf-8?B?VWhrSGEwMkVHK1E1V2JEeVgxNzlXWVBSYVp5cXFJMEZNUEwzK0pHVWpZQWtS?= =?utf-8?B?bmJHbDF4UHdqOWN1ckhLalVQWVBRbHdtelM2d21IMU9PK3ZRWXBXdVI4cVdp?= =?utf-8?B?dHZVbEVBdm5nalhnZUFEUTJ3b1BEYktqZHNWZGVvWUREaS9xSUpmaEhMQWRo?= =?utf-8?B?SXk1Z1R0Q2JSQXBtZktFUnN4dXhUMHNXSmRLSjFlS0htcElZa1F0Q3V2bURt?= =?utf-8?B?dU9DeUwyM241Wkpld2pKRlN2TWEycFdDU3l4NHo2djFLeGROZE0zZnVRc01t?= =?utf-8?B?aHVuTHp5M3NYSTAraVQrNVVVNFhGanNkS3NiMnVhb1MwOHBKTUszVkRkWS82?= =?utf-8?B?bTAzWmxmWVRxWEJHdE5WY2tTbTk4ejUxOUhvaVh4c0V6R2FPS2Y2bklodFlr?= =?utf-8?B?OTU4cW5Nc0xVb0VmOGYrV1lHY0JjQi9hTWphL2FmRm9FVW9BMUVZelhSdjNI?= =?utf-8?B?OWxzaVdxSk9sSjB0d1VBdmMvZkpZYUlWd3dPTnlPcTdSOU5zNHBMY0hFdnBn?= =?utf-8?B?ZUdPQWlSaUdHVWplN2xLNTEwenVma2FlN0FjdyswRTRpQnNqL2M3amJ4UUc2?= =?utf-8?B?OVRYak9xWDhkVW5xaEpMK3YrckUzYlIzYkl1VTVLV1p4RUl1WmYxUlA0b2dV?= =?utf-8?B?WkdMK3NqRFdaOEVpSU85K2FPSDVoTXl1ajI2L1JMMGFaMlFLdVp0SXF1R1hj?= =?utf-8?Q?NStj/mbrVjyJxKv/IroGju6fN?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8edc3365-176d-41a1-0717-08dd41a781ac X-MS-Exchange-CrossTenant-AuthSource: SA1PR12MB7272.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2025 03:29:44.8714 (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: c+d4zNmhDD3MPa8zRlC3czgWh+kmyFRgFFlDyDMNopPJSuf8ZfYE9tgzY3jUrt6RfMJvDsuTcCFiP9l7qnKb+g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8652 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 92988A0004 X-Stat-Signature: gwxbg6pkqccyqtzteksfo431t6164qoc X-Rspam-User: X-HE-Tag: 1738294187-516136 X-HE-Meta: U2FsdGVkX18a/hUUa9gvxQrupDpx4Kj2K8NSH/NPC9EI+jYPQPBkdAj2qUxgD65VC++oATda8UKGLPGki7aZDgk5sAf+7X3qIuOD1/kWi+35XxQmz5OVu9IJYuYQpsdYw4qAMPe8fc5J7cn6kn8OeAnTQjdoyGWGNlmQkT91zVtiAA+hNcHGBfpfiyMLlTecl7Xxwlt7M1X9dPcs4Keulrbtmb8ezVyMGISFNqODQNxBqM8thT7Q6Pr2Y9PO35YvpigWfYGX8m4uxFHwudaEprcKF1YNmhdO00WlN2vGjwjgfr4h7zeBtfMhC87qVWPfyzDZRVA61qBoHO5oSG1tjN3WrK+PhaRuH+WPbBYA8H4m2ChqSzhWBCHQmA+WCakzKzr+h9RlxwLSIioZaaUYkPpaVthWMJ1tnllwK+CFEnchUfE9PApySAaoN7nNKFNMcNLEe7710mdwAZ+irj89TKl6+oHoEz6bmCEnPbjyOpoN0PTo9lwfCakzWRYv4xIuW/9fc1LqStH5M2ODK5WuOAiz1trFz9WYqipcN64ZtIkfJqWIDV5eD9D7qrzMNbj4IC8uKAGE9ETjXFyANTu5XBcQWT3yZf6QVyQJVU7JgHRvp7H1hLJdzALJHiB6sq6QkWDQi97qxHyOX9Vdk2+5Y3H+TkZ51SSxypYs2kHRGIqqZdiknMIjV5m2VzAu6Ly8zEhE4V3q2VQEFRqS7majHD26rgFrRc/sjcUbhrvuVlvw6Bkn+0yOvvGTT8L4rOqGB446rk8P/YSCNsJH3RsuYhD8BrQklEpDrbnEtyCz7co5G3odYw6KDjQfQGP1RDZhOgq0DB7JDxx5z9DrSOZceiKD6UojSHDgmGGgHCF6R0lLFFLUYK+rYHf2GCZ8CE/dsfBYbsIlcxVCgTKxfOk+eeqnX8PcEsVzslE0VoGfd99LJ6S26bC2XkCztwkqDuUq731gJ9PW7jvVzxmhPyj DLNSUkXZ xfbd1sukkpDy9xULzK2VeuM021IYpHzEydHMK6k7XnbeHYzz4XEGoBQ5jeR5gOQG6P/vw3wvjA2IgMZkuVVNIeK75OemFSPYWwslZ1QaICVPpoWiIx+20eiEh9p42hqpmHwAO1U2cCKt3L3q+jAlWHwbB4KMJGKkDZYdbe0xJDLfR+Jk9SDEzHAsF1QC7zlyY1i4jfZ+4hcgIt3GLQxvz0JbvuBJ4fGyTfvc+5tpMLodkGB1WuIShDCRDdg8Zh5dWJ0HfMXVZZMbjQPzzI7iklTuTJvIaM3VClZ6C4Ez+pHaQvTdjggRDBRSV69kbOU6ztgugTVvqBWiZejGCzkLgIBzoqk9fvTtZTJYcIEk/tszYhAi/azwaALx+aWOmZelQilOq6UtEDtbUu4PLRn3RaEDkMOCMnC4TaaBN0n0YnTzreDhuumnQ6SyW3Suhhh1yPpRkPJzD21OsWHbvZUeHUTy5SO0CPq8imGlt2PytlCRHp0k= 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 1/31/25 13:59, Alistair Popple wrote: > I have a few topics that I would like to discuss around ZONE_DEVICE pages > and their current and future usage in the kernel. Generally these pages are > used to represent various forms of device memory (PCIe BAR space, coherent > accelerator memory, persistent memory, unaddressable device memory). All > of these require special treatment by the core MM so many features must be > implemented specifically for ZONE_DEVICE pages. > > I would like to get feedback on several ideas I've had for a while: > > Large page migration for ZONE_DEVICE pages > ========================================== > > Currently large ZONE_DEVICE pages only exist for persistent memory use cases > (DAX, FS DAX). This involves a special reference counting scheme which I hope to > have fixed[1] by the time of the LSF/MM/BPF. Fixing this allows for other higher > order ZONE_DEVICE folios. > > Specifically I would like to introduce the possiblity of migrating large CPU > folios to unaddressable (DEVICE_PRIVATE) or coherent (DEVICE_COHERENT) memory. > The current interfaces (migrate_vma) don't allow that as they require all folios > to be split. > > Some of the issues are: > > 1. What should the interface look like? > > These are non-lru pages, so likely there is overlap with "non-lru page migration > in a memdesc world"[2] > > 2. How do we allow merging/splitting of pages during migration? > > This is neccessary because when migrating back from device memory there may not > be enough large CPU pages available. > > 3. Any other issues? I'd definitely be interested in the above topic. In general, I see a lot of overlap of folio and struct page code, I think folio is a good abstraction and I am hoping some day we just have folio's to abstract the size of the page. > > [1] - https://lore.kernel.org/linux-mm/cover.11189864684e31260d1408779fac9db80122047b.1736488799.git-series.apopple@nvidia.com/ > [2] - https://lore.kernel.org/linux-mm/2612ac8a-d0a9-452b-a53d-75ffc6166224@redhat.com/ > > File-backed DEVICE_PRIVATE/COHERENT pages > ========================================= > > Currently DEVICE_PRVIATE and DEVICE_COHERENT pages are only supported for > private anonymous memory. This prevents devices from having local access to > shared or file-backed mappings instead relying on remote DMA access which limits > performance. > > I have been prototyping allowing ZONE_DEVICE pages in the page cache with > a callback when the CPU requires access. This approach seems promising and > relatively straight-forward but I would like some early feedback on either this > or alternate approaches that I should investigate. > I assume this is for mapped page cache pages? > Combining P2PDMA and DEVICE_PRIVATE pages > ========================================= > > Currently device memory that cannot be directly accessed via the CPU can be > represented by DEVICE_PRIVATE pages allowing it to be mapped and treated like > a normal virtual page by userpsace. Many devices also support accessing device > memory directly from the CPU via a PCIe BAR. > > This access requires a P2PDMA page, meaning there are potentially two pages > tracking the same piece of physical memory. This not only seems wasteful but > fraught - for example device drivers need to keep page lifetimes in sync. I > would like to discuss ways of solving this. +1 for the topics Balbir Singh