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 EECA7C7115E for ; Thu, 19 Jun 2025 08:40:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 789166B0089; Thu, 19 Jun 2025 04:40:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 761576B008A; Thu, 19 Jun 2025 04:40:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 64F206B008C; Thu, 19 Jun 2025 04:40:36 -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 54A756B0089 for ; Thu, 19 Jun 2025 04:40:36 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 8A3041206AB for ; Thu, 19 Jun 2025 08:40:35 +0000 (UTC) X-FDA: 83571504030.18.994D589 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2056.outbound.protection.outlook.com [40.107.236.56]) by imf01.hostedemail.com (Postfix) with ESMTP id C558B40004 for ; Thu, 19 Jun 2025 08:40:32 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=OWuelqMN; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf01.hostedemail.com: domain of apopple@nvidia.com designates 40.107.236.56 as permitted sender) smtp.mailfrom=apopple@nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1750322432; a=rsa-sha256; cv=pass; b=KN5OQt1JFQWw3/L/oJ3ddgU6AMyc2xbawDFWMJpngsG/la+SJKhetvzVpzJo5xJgPvtUsW lBL2b4R/ME6D6c8VszIboC0PDTJmUeYWXKPqbYcjMJroPZEC0/WYyKlOs79SPq026xzhWu mZ3Izdyl7JxmKYdQraTdxmB6o6LE2cs= ARC-Authentication-Results: i=2; imf01.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=OWuelqMN; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf01.hostedemail.com: domain of apopple@nvidia.com designates 40.107.236.56 as permitted sender) smtp.mailfrom=apopple@nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750322432; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=/APESILuLdeMQcvbDqlXVLACGWdbI/TPz9uyYusvHsk=; b=0Wpp7Isg3KxddOlGxdPWVb0t9C3khwHIMABU64xF4Sq/t2jCZiFqr6YRH3aHN7LtY/8Pa/ imAYET+Eol4XSwfoft6T2xAdJOPt0ietqtMgtCzXKxpHkregJielY90ct8YT35kQ4/B66p JK6lSS1aawLKnkk46qd3b+yUjrsOVWo= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RxZNUPS8wWkhxoFzmIm4ExRJmEjhEM0QFlJ7K8sbdrLaZfSI1HmZOM/TjtZBohZEdIPv9aVH6pYwrEEAb/pyfzqFEbBcE2pzgJWzvvT2mDzjWeE2QO9yzm5Yha78JO1lbwyYG/5jonzh2UD0W+dKZLvXfKc//sHdw0eSMYqQD7fMmX+Ei6NJ5N9XG6+JobkMHlUo8ZRpD3ONJF/y0I14rl4Eo7OmgpOvcpx5banIDC1HgUUVoyOagOJ0ePjjlBz/FMt4FwBzITRSizIQ9NCW16Ma/OJlvGMGCAAZGnfor4OtPUUem2gOfyCKwlk8l/P5TnojP7EeHFrQinSCX0fNTQ== 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=/APESILuLdeMQcvbDqlXVLACGWdbI/TPz9uyYusvHsk=; b=TE2uOSsto7jYYwanfKruPJwrbaevFklxIFKZlya5MR4bydmsRT/CW22P5WbALmrtPGcfsFXMQjKR0MDFE91X88s2GnPeq1VSxcOqBnjYoaYg3GTmKS2XVt89O80qy4mobX/4M/GrQw/t2aXuvrJ4THAO328c41hzQD4PAigK3YAj+mD1c++PamQ7yGWv5tUazTYzkepVV+t8pi6lOhvX3OyLvDr7tCQmyMXVBbuHoRFMOBFV8ZhkzC34P0vavLtpD/0+4tkwwe4SYJIzgLL8xnSbTMrlb2vqoMEqxTgiTV+cvuGWiAkpIQWX/H0I2dViAy23zACQwyaRRsnlTnlIiQ== 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=/APESILuLdeMQcvbDqlXVLACGWdbI/TPz9uyYusvHsk=; b=OWuelqMNnWxNUyFoEHIgOp037/y0FoJ0g/YtyylxAbb60HFRTWxgo5XNFu8oncBtzo3zg4L0LFJPxNlk7n+j0+OK7DtNGyTp/134j7wBrt1/sPllGPgBmbhKVXZeMDjMP+EBMNIg1RMFQ/eoYNb6zFTnlwfLyiqA+Tf8Ua0MOCnjYPBLc/CjNx6plD9ENc0IjFpq03/MzO+VpL1r/GwxyIoyopcOyDnryR6MIuyq3Cj/jUp9K5bskM8PfoFLEYi8mBPGneICdKhzKhthlU2FMBHqRUorEbktQdhLg94OXInEPfnxLaBoyUUPvi8QEFdn3XEgG2oZw2gJ4chwp0iwEA== Received: from CY8PR12MB7705.namprd12.prod.outlook.com (2603:10b6:930:84::9) by CY5PR12MB6274.namprd12.prod.outlook.com (2603:10b6:930:21::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8835.35; Thu, 19 Jun 2025 08:40:29 +0000 Received: from CY8PR12MB7705.namprd12.prod.outlook.com ([fe80::4b06:5351:3db4:95f6]) by CY8PR12MB7705.namprd12.prod.outlook.com ([fe80::4b06:5351:3db4:95f6%5]) with mapi id 15.20.8835.026; Thu, 19 Jun 2025 08:40:29 +0000 Date: Thu, 19 Jun 2025 18:40:24 +1000 From: Alistair Popple To: David Hildenbrand Cc: akpm@linux-foundation.org, linux-mm@kvack.org, gerald.schaefer@linux.ibm.com, dan.j.williams@intel.com, jgg@ziepe.ca, willy@infradead.org, linux-kernel@vger.kernel.org, nvdimm@lists.linux.dev, linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, linux-xfs@vger.kernel.org, jhubbard@nvidia.com, hch@lst.de, zhang.lyra@gmail.com, debug@rivosinc.com, bjorn@kernel.org, balbirs@nvidia.com, lorenzo.stoakes@oracle.com, linux-arm-kernel@lists.infradead.org, loongarch@lists.linux.dev, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-cxl@vger.kernel.org, dri-devel@lists.freedesktop.org, John@groves.net, m.szyprowski@samsung.com, Jason Gunthorpe Subject: Re: [PATCH v2 01/14] mm: Convert pXd_devmap checks to vma_is_dax Message-ID: References: <361009510f346090fad328c53ec228d99bb955ee.1750075065.git-series.apopple@nvidia.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: SYBPR01CA0049.ausprd01.prod.outlook.com (2603:10c6:10:2::13) To CY8PR12MB7705.namprd12.prod.outlook.com (2603:10b6:930:84::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY8PR12MB7705:EE_|CY5PR12MB6274:EE_ X-MS-Office365-Filtering-Correlation-Id: 26384549-292d-4295-de44-08ddaf0cf1aa 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: =?us-ascii?Q?YnNYhnIryYgcsvMOiIFtjx+k0f9gYGxOpCQzWDOgj7wdEHdCuQs3CjFCu61N?= =?us-ascii?Q?DYnvAIvQxXVB64LJHtzsls5UYJr2NvEIm0IFK8aevXhVNfwQKyupdmqiBM2q?= =?us-ascii?Q?XZHQtDc+7n8CYVDAxl4szvJFmx5fVXXn2qsQd/cTBq1O+8Xugu/BrmwUwO0Z?= =?us-ascii?Q?LwA2PBN9sydYeY5GxTCfXLCef1xZBwwuhuJ1fFfqT3a3OyekELKmgOkjUBpw?= =?us-ascii?Q?hvV34OF8YWlFi+5hdoVLx/ChJeFCQiaOjFJmOA+7G5gWQdtwwDREgES8JUt9?= =?us-ascii?Q?Jqv5JjRZDChzntr3SQd+CS2DPps7jESW+qZCkmRNPbKGAVylvsXHAgIhC47J?= =?us-ascii?Q?jC7feojeEpU5RxahdyyU582V7fk4cjQlYQLmuyl6x8M8R9Qnj77YOa8rPyVi?= =?us-ascii?Q?e7h79YcKgl5brm7O08eXzxr0vNRcwBVS7fonmv58DiiiYT5wJDUlX1THfaug?= =?us-ascii?Q?Vm6oc2DzxQ7wpObHNk/zNDMzLLmuBexKRZb32gZiJoBSVkxZ9OsZ/EjEbhIM?= =?us-ascii?Q?cnlPJgZjl6ar4HjjKjo8sY4OAw1SqW3V/7okcZsHuTlJPSM+jwVPLrbv6kje?= =?us-ascii?Q?aHViNFJqo/pTObj1o+NhK/Mb51DZPJ3CXr7FN6aBLg0Occffckid4IoY9Fki?= =?us-ascii?Q?IOW1cKFIL4yE4OiiiCXI+tpMcNTpkgr/X9gHGKrEdBTUgeaxgw7oaysf0NXc?= =?us-ascii?Q?u1HN0M2vF26Ua1UXrqomCwWO0fpOH3rZQRCh+DsgmBztfkFHTEDJGpPUigS7?= =?us-ascii?Q?kAaPMOND6tYvZwBMfl/4BVjhPEPfaM77XZA8XWScRIkrsxO0LXlUPiddzkZG?= =?us-ascii?Q?HQgqOCNRVmikUzFe2pxplYoczG/wyNeF5JAytfaMkRlDpPLWmojCjamHsRz3?= =?us-ascii?Q?3HPbeBc62KNlVFJjRClYQnBBlLigshu6nbWhmJS3pSqVNIpCIiG4vfT+CIvf?= =?us-ascii?Q?wK17cVqPsSVl9zfn9TGNI+nRp+/vx2eg4dhUoLPor6/2l73HlwD5ZYDNW3xu?= =?us-ascii?Q?XlwqcTHRu7y0Ww/yD+MdpucL3nxahnVGPqsYCqMkjubHAcEn9Z86rjCVIwbW?= =?us-ascii?Q?lc5G8SooUx8+VSF5IXUd/BCkYWinOkMZ69ybCTcL3B/Eu83oEg9pQgm7v5RU?= =?us-ascii?Q?zFq3U/5cT39IN3RuKwFFl6UtshGyXfej8KXHWsA0TIb1N5R6q2k/CdfrIHAi?= =?us-ascii?Q?76buXhGFmyJN+mE86sgmJRzkxAKfYiQOR0tdYC10LnIdOg4PVyJ+gtVKjMTH?= =?us-ascii?Q?jvinCKumXQlp8VKGkEkti912W1qH7uVRYwZBj7/9ykVN4Rt0J86FBOSOhm/U?= =?us-ascii?Q?tR2dQR0BbUgxnj1squSM5PrSRGV/+8cf46efeYNDJTR8KcXZ9eadUXvRY3LG?= =?us-ascii?Q?k88glxo2egDPzDPvcBUt0ui7NJUUYzd8OiMd34C6d3H+9vxXfR/Bw2B+Yqpe?= =?us-ascii?Q?MMF0ZZ+cRP0=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY8PR12MB7705.namprd12.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: =?us-ascii?Q?1BIRC8ebNzJojU9IWpb03BXCuSKv8UA2gI7DftJ69fJ/VtnhPXVKZZKfTHWw?= =?us-ascii?Q?Z0zcJDItw6Ok2y6AYEXlJ2ZC1WsCI8dbsGEarIbRERqoe2VYFQWliRL5NTay?= =?us-ascii?Q?rwza12NyjHMm4TbqbT3uPJ6dSs5yg8Lb+34jDLa965Luu3BGYjjW3nuz1uLQ?= =?us-ascii?Q?H1B3X99t9f5p/C38wYbNgZCXNHtne8TkPwEQ+P6Mtr/nxdWkRrwr3Pzezua2?= =?us-ascii?Q?g+NZopsCZ4JYcl7hkeLrN6aJMSeitCmFzbBpKE0u5VXTUKVvLir2quLI5ejN?= =?us-ascii?Q?K/A0jq6R2HjGXYScnHMvUTzICXWVxp1ntUZMF8tS0SdrQBz8NAcZaUHrMSx1?= =?us-ascii?Q?33ZahucBpbd+AG9vv8eeAMNVYN/SigsXYD/K447MRuH+AkHp4kivWQMwtBQl?= =?us-ascii?Q?3+ce19nyGC3S4vIrzkfHt7h0ortyQWWG+sIsjZAdScN8I1Hh4OAKN4AjGM5s?= =?us-ascii?Q?ijECRJilm3qcI/5DS7oHLXmuGqCpD4uVxJj0COWS71AT7tSRsJ86DZTBaeeD?= =?us-ascii?Q?sh827a2MAfOUvKxHlVfrBZrjQ25Bh1n1oSo1L36x9/S7UGbH2tcD7lKg0Pzr?= =?us-ascii?Q?T1dEfkckwEUbMMiTyl/U/zbJ2wR8KPvSRKyHpdbww1ZeY6Jh62VwKsk3oLkA?= =?us-ascii?Q?tb1+JEg+zdD4qvgzWvEUcI3i9bnEhZXhd1q20AcrNRhJqRNlUqmSz7SC1/rw?= =?us-ascii?Q?e5A/aFSaRVeEeqhkvc0S8snb8+6VRKcgHBs6Ia9pjpwEacqFh27Qc/QHv8A0?= =?us-ascii?Q?RAflAALH7AdV7xMdJy946+yy4dynBvmAVD6rNKC2EfTfmGPXsJp95Eb8NMR6?= =?us-ascii?Q?ThSi96xLWEkq3CYarQ5VgCpcBsR15Gt9mIUNYxZh9+TKaqNJpSAQKF4MaGCd?= =?us-ascii?Q?AjY2laZAOvGAK2Tu9pJoQ5zD2b7Qc4sKE1jBV4IYC2NuerOJuUD1JtHQXbMu?= =?us-ascii?Q?gW+1RTmHq9KR34O3SYq2nzlV+gwfkBn+cBiqlqi3WM1fCF0USNG1FjOcRXJf?= =?us-ascii?Q?GXso3LpZGXzPfkchYzrsARTLVfdCvYI8Iedptz3x7zgJv0KuwgGOpXZ5N7OP?= =?us-ascii?Q?qMw2BM4dRXXnNTlUtYU/aXyreF1gra94sGw2JrfZWwE+YFPKlR5RxONGcfUU?= =?us-ascii?Q?Zy5MDd6kO8XEDINk3fHt9EGH3wKQ5uuizhu2d6XffqHILyPQrkgIu8D8OWJ6?= =?us-ascii?Q?N/9nLXWCEBa8Buo8I8O1lX8iMZ4X9rkt0wWxt3rA+NMDxLIOktEbo86kkcic?= =?us-ascii?Q?5mQjjFVd7IzQasxPi2GeE4Zx9+3fkhqxHBp8jqwsQYnJIZsp1pO5HgifGFbw?= =?us-ascii?Q?Pexq7nDzp8UHyB0EwxJzgnLgyb7ub6kBUWGB4uCWsG0tWTWjTzNaWs9roP2N?= =?us-ascii?Q?5zm8yp3CyIY+F2FUAF1on0zMuD//g0A6KbTgcwGy62qdaGi1ZKAd4D6iX7ne?= =?us-ascii?Q?EXJUxRrj4uzGh2ZbEyNA0xNot6gSca/URZkzFonGQKDu4DUFj5fz+MSZMjRT?= =?us-ascii?Q?9ySAnedzQzifFJH7tP2gw1nVxuefjEr9fEFX2uJ1o+MAii9g1dCp+jJiLWRF?= =?us-ascii?Q?zVbskoc7mV+SEryG98d0TMCksYifpqwZYHFDoJs6?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 26384549-292d-4295-de44-08ddaf0cf1aa X-MS-Exchange-CrossTenant-AuthSource: CY8PR12MB7705.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2025 08:40:28.9434 (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: EY1NgozUq4ApkAmyh0mocnA6g5ioPWsM3lX+4YedOAZTByj5xGGvAeU/XijncjGlOj3Catu+bYM0PK9rrIj9nA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6274 X-Rspam-User: X-Stat-Signature: gqk5hufr3qgjmdktcdq9pnewk4athe4y X-Rspamd-Queue-Id: C558B40004 X-Rspamd-Server: rspam02 X-HE-Tag: 1750322432-721684 X-HE-Meta: U2FsdGVkX1/Naho5crOe8epPDcNornh6VrBYBpZ+uGjtHM2VhpKLB1esPSRwwjwR9M3jSLA5W6qrjs6uRGrN6t4QTPlYhjtuCEtxjastb01WhLwox+kqqfluPN8PBNYfGOl3Rh2KKZDwJGQk4Az92pTMYvoRxIRKHM9+218f5bIPQZuAbm6Cu0vkk6DLwvc9C9LIYjPvrquof16bZjayZOzXk1AGfcICC5T7pIO3uSG2R6n6bg2bVW7xCrNpFqNI9INM6HiP0VkBqEsivyfU8Clty7cfV/H+Qd8LCLyzLtgdoScPsX0XDntWOrPGLdfiBW89jyx8gyziZ9ZLVtR0fwkbEa47uiTNr3zMzVP9tDGE1Pe49zlvrdNCHC5VCENmzgPDBYrH16Kv5KbKbWKFJJuhvHt4KflYXAahi0E+yCg89CvN78sMab4yseJd9H6uS9P5WSF2VJgF58ag2EDT7dwlYHFWjnZ9ZkWW3SixXwCIP5COJdLzNW2ksGC6GL0goc2furKnb47/k5vAKZ7VBvuyRKEIBAb9sT/a/GsnYIaJFK0oNfKSLjep9cC96qP9nq2cIy19doork5of+ZD/HkbTYA9bAFEfsJLOqh/0+f65wgnmtruS+J7XTKUnyAD0ZE1MuTB/aL2RP6K00r9VZhlVDaAKi3ytIEUTxUfuImZqjrN3kk4NTlJT/kvVvDbczxrEm7Qz+7zOSCqPI89FVXSNkEdyPfL5B/sNfU6vmp1Fkj5b8rUZkc/yrkY/2YM9IWEx5IY+sYnidrEcruGoXlQv14tiLcJJ94lx6pQLCWzex4lPeK7wX+3VPdCfjdVpv7NsB+WeqL8xiScG/Nlk9i8O2G2Vxt3RW0AOja70yfpRq8kre2sMiIA8beyFJvuA6zlB1RKMjJ3rdhGXgyTPdwLGTYUinRNhbwTqhmvyBGkgOKRZ43RQKdvEcVdbYjJxlTU9aguPt3osGggJTsk AgcIV6Gl EafcB/eIPO9ZpzPYJ/WBJ4g4um1wGfytty3q+jqLM6O7JQGXxyEjawYZSkCoG3IXGK1+uZ0gcFbfhdE3dJNzRKLd6Kovl65bteTlrlJbK5UhPRLq8+YkRa0K62eDY9ntenbtIjMva54JhBnQzKw6Z9fDapBCIEPQtnMKvyN118ujyZt0kl/eFAVo+jizmj+3Y/d7ojBgToPpXv2XUXQNGIhXVne4gj2oz9e+riCuy4Q57jASLo1/oQqAqa2Y/fkNaRM08oX8W5db4xVOwE2bne1YSrKoKqxb+uPdwpEiEikxQT6e/FFLOV/LeHNb/2iai4k9tOc2nnkr2ip4QE7ethu47FwmTTVuqFDpo2SxgRvfErAygpJtTa3ZIjkbkJk09b4RZ/Q57n4KXZwkC7M4EWTAVWymQr2vjxCMMaDx3UIpbtgkwQGwI2jobtVsRPVOMOn4rZz7olhPoayoRpQWCm6kuEyCgQAycmqD+Y1eVXd+wdT40l738hF67X/qwA59GRFq0IANnVd7LyEDwGsE7Pi+LiwiySPQ0F6reNSgTR9TfKwAKlbMfk3ipaMCACH0ZekAJVN2gi6lcIxlcqmGrXI08/F8jS6UMa6zez54TuVp7oRw= 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 Tue, Jun 17, 2025 at 11:19:34AM +0200, David Hildenbrand wrote: > On 16.06.25 13:58, Alistair Popple wrote: > > Currently dax is the only user of pmd and pud mapped ZONE_DEVICE > > pages. Therefore page walkers that want to exclude DAX pages can check > > pmd_devmap or pud_devmap. However soon dax will no longer set PFN_DEV, > > meaning dax pages are mapped as normal pages. > > > > Ensure page walkers that currently use pXd_devmap to skip DAX pages > > continue to do so by adding explicit checks of the VMA instead. > > > Signed-off-by: Alistair Popple > > Reviewed-by: Jason Gunthorpe > > Reviewed-by: Dan Williams > > > > --- > > > > Changes from v1: > > > > - Remove vma_is_dax() check from mm/userfaultfd.c as > > validate_move_areas() will already skip DAX VMA's on account of them > > not being anonymous. > > This should be documented in the patch description above. Ok. > > --- > > fs/userfaultfd.c | 2 +- > > mm/hmm.c | 2 +- > > mm/userfaultfd.c | 6 ------ > > 3 files changed, 2 insertions(+), 8 deletions(-) > > > > diff --git a/fs/userfaultfd.c b/fs/userfaultfd.c > > index ef054b3..a886750 100644 > > --- a/fs/userfaultfd.c > > +++ b/fs/userfaultfd.c > > @@ -304,7 +304,7 @@ static inline bool userfaultfd_must_wait(struct userfaultfd_ctx *ctx, > > goto out; > > ret = false; > > - if (!pmd_present(_pmd) || pmd_devmap(_pmd)) > > + if (!pmd_present(_pmd) || vma_is_dax(vmf->vma)) > > goto out; > > VMA checks should be done before doing any page table walk. Actually upon review I think this check was always redundant as well - vma_can_userfault() checks limit userfaultfd to anon/hugetlb/shmem vma's. Boy we sure have a lot of these "normal vma" checks around the place ... at least for certain definitions of normal. Anyway will remove this and add a note to the commit (and apologies for not catching this last time as I think you may have ready mentioned this or at least the general concept). > > if (pmd_trans_huge(_pmd)) { > > diff --git a/mm/hmm.c b/mm/hmm.c > > index feac861..5311753 100644 > > --- a/mm/hmm.c > > +++ b/mm/hmm.c > > @@ -441,7 +441,7 @@ static int hmm_vma_walk_pud(pud_t *pudp, unsigned long start, unsigned long end, > > return hmm_vma_walk_hole(start, end, -1, walk); > > } > > - if (pud_leaf(pud) && pud_devmap(pud)) { > > + if (pud_leaf(pud) && vma_is_dax(walk->vma)) { > > unsigned long i, npages, pfn; > > unsigned int required_fault; > > unsigned long *hmm_pfns; > > Dito. Actually I see little reason to restrict this only to DAX for HMM ... we don't end up doing that for the equivalent PMD path so will drop this as well. Thanks! > > diff --git a/mm/userfaultfd.c b/mm/userfaultfd.c > > index 58b3ad6..8395db2 100644 > > --- a/mm/userfaultfd.c > > +++ b/mm/userfaultfd.c > > @@ -1818,12 +1818,6 @@ ssize_t move_pages(struct userfaultfd_ctx *ctx, unsigned long dst_start, > > ptl = pmd_trans_huge_lock(src_pmd, src_vma); > > if (ptl) { > > - if (pmd_devmap(*src_pmd)) { > > - spin_unlock(ptl); > > - err = -ENOENT; > > - break; > > - } > > - > > /* Check if we can move the pmd without splitting it. */ > > if (move_splits_huge_pmd(dst_addr, src_addr, src_start + len) || > > !pmd_none(dst_pmdval)) { > > > -- > Cheers, > > David / dhildenb > >