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 4E4BAC3ABB2 for ; Wed, 28 May 2025 18:29:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E11A56B007B; Wed, 28 May 2025 14:29:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D9B526B0082; Wed, 28 May 2025 14:29:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C3C7C6B0083; Wed, 28 May 2025 14:29:48 -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 A1C2B6B007B for ; Wed, 28 May 2025 14:29:48 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 11F671412FB for ; Wed, 28 May 2025 18:29:48 +0000 (UTC) X-FDA: 83493155256.02.BC42EBE Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2049.outbound.protection.outlook.com [40.107.94.49]) by imf24.hostedemail.com (Postfix) with ESMTP id 3F447180020 for ; Wed, 28 May 2025 18:29:45 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=FvFySEo0; spf=pass (imf24.hostedemail.com: domain of jgg@nvidia.com designates 40.107.94.49 as permitted sender) smtp.mailfrom=jgg@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=1748456985; 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=fWr/F+TpJ9m9XBD23NNXwnCIZgEIhkr6ue1i/83xuMw=; b=XMMXXzG8ePNhbgrKEYnhslwn96pHlpy2C7ELRdTxamBA3sIb7uzMylcPoaW0jzth+Kceok eKgVji5/FKjqUjR2y3134NQX4TImvhGFIjisikE0f0UmZLhOn9M9fz0+BR6iJ40afnKoAk clghCO00mvi991kHDzU2H8JWl1b5S/E= ARC-Authentication-Results: i=2; imf24.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=FvFySEo0; spf=pass (imf24.hostedemail.com: domain of jgg@nvidia.com designates 40.107.94.49 as permitted sender) smtp.mailfrom=jgg@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=1748456985; a=rsa-sha256; cv=pass; b=ZdqTTjWYmCmSuBlFNj97jDX8Q9fvpoqq8xaEGXi8SH+OavBJhoTNoTiM/gZyRaTDHZMqHB joB9NU6Kfwq5YqnaV7FDwJwDgBWDk4KJ/lovxAvX1/dquMIsOEfneh1SdhTJDsIxVRByYK 7jDO+v3ofFsuNv0IB/eTMfzLRwJIMHc= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=iOFs684CmG1p7wdmmCpKEAuJ7P5+sJeMQzsfz+32u5Ew9x21AX1QqTp0ev/29zsujIQAwRUUCQoM8AC2mG6hv1IkBCh1uxccftKB26e28m5xaQQZ2ttU0cBHJTLFJA1BR0EprUd0vY+Iq1DN8qMLlO1m7u4mpcdyVpLwnk+dqK3iKz100BVWJi3QHovUAraw05UN84ZUrRcG9ZxEOGX3rYrOzr4zOYAx1OhJN37ylxsZj1RZ1/40K17HrFN9uo5veY+mQejVLKV9eLDVttdwKwMDIbZaxB8L91ke7YxeUEsIvb7QPO3RUD/OFXGtKKcgdmODQyG3IThrb2cPTYzqoA== 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=fWr/F+TpJ9m9XBD23NNXwnCIZgEIhkr6ue1i/83xuMw=; b=Dw9WwL7G3yWAxUOaOEflDff7lfbCfjYE4mzPA1daGNlfSZO3aP5QiVqF9wD3yQyVfqqEz3G7E6POTsgt4RMDhUj4110B9grvH5DUq0eggNiubQ8AfOP4Qb6wg8HKaXyE8ZxLwdnDJ+AU8zDbyG4kO4cICJyXLD+9Sl1sNAiJESuflsgn2HLZ+zuEUHGlzJKc+QqNu70XiRNYSuTHHNfnJVsgG+aAaoDBCSjJ9dooCLFllIOvP5ifxBk+f3/NTAzt6XBCZ9L9QixfQ+bMWVE4JVsSFcvNKXYrpZMBubRUOfuJcne+7TrBpUdvBosvh2kdkLIEC1fQXFuYz453XslRCA== 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=fWr/F+TpJ9m9XBD23NNXwnCIZgEIhkr6ue1i/83xuMw=; b=FvFySEo0xSdiU1C8RbrgkJBjZGnlnUOOS2CMfQZnCob2VP1SEm1w9jgn0MDJJuubC3OCF3kZ1UtJermApDDbD2NlllCS8N9NlpJFrm+rr/62EXa2LcDGviSJH+UINED7pv+TLlz+hCSK7DQDBl1bJjmd/dYxJmCCikwyAmvatvNLXCI+EvayQTifol/XpDKj/9sHQ161OgtmpsC1TzDQpi73SEdujKlOJjnY7fSD+FWwBmginJYVNjpEhQkIYpJRwk4ykJEeUsay4AJMndS9PK2wJjglu5esVZ790WGFTz6HX1v9w0oWfZ8CCZK73TEOGErLMmCoqqZgilY47h6SoQ== Received: from CH3PR12MB8659.namprd12.prod.outlook.com (2603:10b6:610:17c::13) by PH7PR12MB7913.namprd12.prod.outlook.com (2603:10b6:510:27b::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.29; Wed, 28 May 2025 18:29:41 +0000 Received: from CH3PR12MB8659.namprd12.prod.outlook.com ([fe80::6eb6:7d37:7b4b:1732]) by CH3PR12MB8659.namprd12.prod.outlook.com ([fe80::6eb6:7d37:7b4b:1732%6]) with mapi id 15.20.8769.022; Wed, 28 May 2025 18:29:41 +0000 Date: Wed, 28 May 2025 15:29:36 -0300 From: Jason Gunthorpe To: David Hildenbrand Cc: Peter Xu , Jinjiang Tu , akpm@linux-foundation.org, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, vbabka@suse.cz, rppt@kernel.org, surenb@google.com, mhocko@suse.com, linux-mm@kvack.org, wangkefeng.wang@huawei.com Subject: Re: [PATCH] mm: fix COW mapping handing in generic_access_phys Message-ID: <20250528182936.GB192531@nvidia.com> References: <5b9f5952-9979-426f-857a-dffa9b7963af@redhat.com> <20250528162915.GR61950@nvidia.com> <8b307f83-6a16-46c1-b71b-64af9ca0f592@redhat.com> <20250528174754.GA61950@nvidia.com> <84a19161-765d-4aba-b42f-5fdd8c986bdf@redhat.com> <20250528181506.GA192531@nvidia.com> <331096ae-e648-4a6e-8728-5cc0bf319b3b@redhat.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <331096ae-e648-4a6e-8728-5cc0bf319b3b@redhat.com> X-ClientProxiedBy: BL0PR02CA0134.namprd02.prod.outlook.com (2603:10b6:208:35::39) To CH3PR12MB8659.namprd12.prod.outlook.com (2603:10b6:610:17c::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PR12MB8659:EE_|PH7PR12MB7913:EE_ X-MS-Office365-Filtering-Correlation-Id: ef0953b5-8e1d-4b8b-310d-08dd9e159c2c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7416014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?AYs+fmvayQoonm1CswyUawModDkJgFMQaCneNC5eN9Hi5TjzkIfOnpwLLSGR?= =?us-ascii?Q?b+sioCiKrOTtNP1sd9/oFQtjlLQCvT8PN4qex7HqB5ZY7y/sXPkTEkggK2Ck?= =?us-ascii?Q?oa6y/tgpvXutZYGXDlhpilZ2uKH1Jt3hrIPeQFj9Yu4XicSkMEFr0PZz/+kC?= =?us-ascii?Q?zw0E4os3GUNBiJIYNM3qx/c4EW5JqDtoqKo6aYoeozx+PHAtQOrAAFLYF4B7?= =?us-ascii?Q?E7BrtlwmxE5xQY1sWeH84OrbhhP9FOcgOA+2y+F+txeuGI/9MKvkYhCmuato?= =?us-ascii?Q?JZvvJiKZnSqEvNaBZbnixbeaIIOJnvDLFwETQcH8k2jUUC8wrvGJnlecMIPd?= =?us-ascii?Q?NeupbLC3ZgHb6nfFzO+j7rRgOpL7ZNLSzZsMhC0wu/MLkmvFUTKyZKt5nKq7?= =?us-ascii?Q?fQ/Mi33VX3a78z003W/AzLIBU9L+F8rosCGgiKGDh15GsKsPL5GYdw8JSmqG?= =?us-ascii?Q?FtkDKXntaobms6KUSjV4mnsMxNPyO/UOhGobtlgCLTqJNtYBTfOutvK3EL5/?= =?us-ascii?Q?RViETGM7xdw9fTjh4SB4s/cV74RKRHkoVHHzIdpyUEj1hwcx2TSxBUM2CLHV?= =?us-ascii?Q?xnXxadUDwfPXQ5KA+l5jUf4hWmfa0XLwPWSdVvHF7/tv5BjGA4PHQ+Zpdk7Y?= =?us-ascii?Q?fHITYtReTGEoUqw6ZVwNJu3D2XBsQVOqtv8DGaq+kdej4pCm0Y4QhkTO1Y+x?= =?us-ascii?Q?Wdv8UwJcpq9FBf+zcV/dQw9Vwuo7cvgw7RB7WRh3ZM1dLQGubInQSBACcZSu?= =?us-ascii?Q?WIehMKBIpJBukx2ji9mF1b9MVfaobR1bU+E7mSnsBoM0eSqlmeNSQrQcHyJF?= =?us-ascii?Q?jgL7zOzr9bj6scjCZo2cvwhp8M9LAVNiyz1JFX8owxd8nkuTbWYQD1xLWEw7?= =?us-ascii?Q?DRV3NCMPcK4h5G6p4oLm12Xg4UGGC0DjZG67/TXnYcRsprcyfmceoRrAGl/n?= =?us-ascii?Q?XwmBu4TIKtiOtrVK9KAoboHGNxtkFCnSlWG3W8cypdoPWWxyV2AqeqCy2uBY?= =?us-ascii?Q?TNqPJiX++FoIP9DHn0CBkalaLZ3niEMIszfLMGOie0HvlFbexNHj6G3SdWlk?= =?us-ascii?Q?JV2cwQCkoRMnyQN5l6N7kX1zpYGdwlMnJ60ZFRktikJkIBdbI7qu5xPKNMyS?= =?us-ascii?Q?IEQedgF7ZkjbmmiM3BXEvFkosSYfUYfWa3caeJblBZ9y3CG8mCnUPcjXEshg?= =?us-ascii?Q?rvXtX2ncIs4SsWH0LFm4chSILk+OuDajBcB538P0GK9Epnrtkup1gHhXT2PA?= =?us-ascii?Q?Y6yddeism8GBWkxAWiKyXOwlsriwyrwNJOSKoffjraYapX12fAdZsTMlD0s7?= =?us-ascii?Q?nTyN0aby3+9K1y2ChAMfQ3YLbSRS6W2cz/KXikGo8WcGbM0FX46zpV+LRp+r?= =?us-ascii?Q?rTQV2qY+x2IXPfRU+nhjUh7pORqerwwZ1ipjnDI5Ab/PILcpUw=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR12MB8659.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7416014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?7hF36j4LDVS7tAw7EbpE37PAOv3kl4n7IYXgyDzOv/fx8lzYaUAjXJht0gGa?= =?us-ascii?Q?hkHF/enOdBd86kmbH10TbDIBeBqgFib3Iw4yR4/yVTo+PspL+71smo1xnrhI?= =?us-ascii?Q?78N3c3RzAVIPJ07kVMXIXsjmP8OYzSC1LKl7OveddSWGfr/AS35pr0qG6NRQ?= =?us-ascii?Q?kHB0/o4jh+Xsig6pmXJcb9G0gdLno/y8qo2ekZbaJn+NLpDEIIdLAIGVmiHb?= =?us-ascii?Q?jApSWkkwkdtR37M4BQZUsob1Yu9BGz6cQfWpn79Z+dMLRea7jkkoTv0hDeOG?= =?us-ascii?Q?DTs5qxX3bcTL8u4cK3rKPWlb1lPwD+vTLE73CdRsdraN/9R68V3TyH8yh32a?= =?us-ascii?Q?PcnMO108qGVLnS2QbyT/sw/60kNSCOlltHiFpGZivRfTnvmBXlrHiy8Cbipw?= =?us-ascii?Q?1tpCtTXJ11Fpnkg15bU6cGdvMpsCW66nO0sw/nanMybAiyRDeyUx+6Dm6Sv0?= =?us-ascii?Q?xKnJpT04DHDV1PmndE8hdj4TaHOY38l4ZwcBA3cNglu+NrBQSGF3v9RpHFSE?= =?us-ascii?Q?gzhdeDM+XxSwL/qWPotAVUvqCmMAubdAzQfQBMcNWuJZ0y34SqXsVLBqZZjV?= =?us-ascii?Q?+pm+CNOCDtub2nErDuqV2GJMeRqFKqfqds9T5LsbbHwG11NMzjh5uIx8cJdv?= =?us-ascii?Q?Ht3R5riJzWqy9IoVmuikN+aGXjRJ1qx0NFunlAeOk1V8ZvZbf6LTPx73pppb?= =?us-ascii?Q?lBW80JJLrYy+q/8XgE48RvFlNmhqkPNANXgngknXcx6lWmaL3sC3QuJzYO+9?= =?us-ascii?Q?G/iVLldoHU8r0sa5R1mQXzReiiYfVaQFzg+LDUZn4IWFrZyD3tRDNFyv+OpA?= =?us-ascii?Q?Gqq8BFQkPlnAHk7RcEf5mSgHuOz/V6YgGbAF1EPHexS243P+hKnxh5Qbp5eH?= =?us-ascii?Q?vLIOir6DWA+vz+WIYz+ZdvD7wtVuDw3Wx5nKaEWImX/dZuG5HYTIUXmQJG1j?= =?us-ascii?Q?lRgtebnveE5wIYGeVAffZExDcY0RVqJiP5NxK8jJU2QakLI2o8Gcia8uRbvW?= =?us-ascii?Q?YwyaM0SWSujBuE6UuYw/Wn7pFUwmuBYWeKYDVte+1NUhuXYyJuBG7uTc4p/8?= =?us-ascii?Q?XxQmK59NkvJilRv4DjHUNQvz5Ehc4iy8eFRzjRozr97qjhHR0BmtrtXuHeL8?= =?us-ascii?Q?cYmArb/VIhXz0XbGNyvMTWylasUKgAZ0cr3IhL80Eia+6jjwUPvd1aTt1Ail?= =?us-ascii?Q?e5vbaPyEeRQoQWZAhRolsdudb21WDD5ZGZf4faqaMhFR/Mn4Eh4JlcdHYFWY?= =?us-ascii?Q?ZzAfWvNjc/6PH481LoTyScGPjQZz/qfVD+IQ/6CoKvebi6RSZ5bhs0+WRisv?= =?us-ascii?Q?y8mclpGgHq184OMTAtrEDJKYac8XOQcueADVRITAAFiWM4r65IDynIEZNzic?= =?us-ascii?Q?LKVR5y4lzXBFq4bDp3Kyi4kXfz0aVVeH2WKdHIXbfYhhOAQJiIcmVbaNrkvJ?= =?us-ascii?Q?+gskYccG3PDQJHdRXKh3lPlTk3jWeeBhRZD1iyr4BASwu0db/WxJ89nQYwoJ?= =?us-ascii?Q?EKvY/KiZiAxwUoJwqmwsQSvEMs84/ur6Kywl8oK+ionpDNMGzNdvQRVk5Aii?= =?us-ascii?Q?PigDa5YZbAbdQ4/VeHH/GnLnA/GqPy79XVQqkJk8?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: ef0953b5-8e1d-4b8b-310d-08dd9e159c2c X-MS-Exchange-CrossTenant-AuthSource: CH3PR12MB8659.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2025 18:29:40.9444 (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: /paGgvgcVfiKY6dXabIWtGRnylQoaFXyftg0wN4++35h8HSGvM0oeHZc1gRizBfY X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7913 X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 3F447180020 X-Stat-Signature: rohghic5983o98sfikgfkj5af5xkkhek X-Rspam-User: X-HE-Tag: 1748456984-227036 X-HE-Meta: U2FsdGVkX1+NmZw5uYeFH6CUtAjBP1UJjnJNF2OUuMozXpt+9QZl9jGhBnk7wgQZqK6kdcIUERFT018z1+YlqK0GOI43vQ9flZHUsY9rEvBzIAvs2NK+nZ642Oi/ZlF/eEoG6wTnCXTEqsHAi8Gk5XxOVmXcsV5EDFigfcMPVuWnl9i+KLjFkAF7i1n7txIqLIEqPGpZNQ1t+BqocMc+4rK5MH+/ux5D2wYy7Li8o3xxA9o+CYyQNALalbKhrMk9P6LDW+PlsG53v/z6hLtb3A8Vnwf65knVmTbRksEZbm4h4wzPsBwW6Jdf6hek5ftAb5IVBR1Kq6mVule+uBBtvCb2+DBW1VDWPbmtWS5CSkwkYeRkV14IkCit3WVNbji+CjS+OLk255KGWwhNLN3aty34VzQk1NW9cCrC58HjJjNP7Y02vJLVB5ivFIgGRKUAWHHQG/NK6M3NF/nuF2Ali+lK8/n9POM07eO4SiWXc+j+jurVuc2QH4thfQX59eE5Y/mVguXi35b+h1Yca8lJUAoGSp3oaUKGAD2iviwM9s62YScaMSFtZ9z9fuNwQSILDrrCBQm1SUxgIwenn7KLVo1EHTDbZdbVFSSFjwV4rUUL4HVFepXykjJd2LsF9jwfii7Jg4XMSQdHMa1U3lmd+HBzIe+10nH/+R6cdvJqbY4S5r4s8z/WRfCzWCuuhdgbIITJyFFFErce/pp7KXeUbqAO4W/uyyExQnrZD/4n8qaxrl4HkDpR0tbJ3vEVUvyi7W/mJArEaGnhr7MvBK71or/iJr8cyEZRvPQ6rtWmpOjOOyUI0QcQKDr/OKCgbW1qiVi7qxg0FvPaj9WV8JiJC5U79dPx6Z1tOOrLl7jBI2As0UDJz1CN9kSiEn1PDA/R2iJHWxtK8MMhwJ29SdamyuIyeMGhFJRlX23CZtCsHGE3JIYO2IUQ9nFqarHc0QnVbdq606AyX/kddDv0487 XxsRVFIO ZsJsmEB02+HSEai16V1N5bG+Bjgfz2x2cGFoQ0dpA8nVxG/rxWbMEKlE0ab50xnI4hMw+nfBKj+id/Yi4ak0WvNQ0GcaCvKcgob8MBhjYsXT+irLKEFfuWCjXpvxf+d5UuveaPgGhv4hV8KpEHzIJoaSVG8zLx5pVvOjsEbVG66y62RZIdn4HYum0dghtDftuTPdsS6Y73Qe51Ma/LPUIi6MO06pi3F3DOqJA6UNxZDvBL1y56GaQF1DqhrlDzt0P1ooAC9AYYybkaUv9AbdtHpfuMHnISNcprqzUU+6/pyCeed6ZCQNooe9rnoiKPCF7c81REjYduWKr1JBwsuGoDkNE07Y+OH3nfdXjNApzpH6YVRcWrowycHr/Ft7zfo14wtsreKueC1QlkiKC+K+D3kejV7xtYbXcwkkIiV/RAh/vJYMe7pJQ9i7Ly5Dd+rbbjN/UAb0dNtO38qJWif1c3UoihTJR0B5XpVTnzSvqIVKihJX80St4FqdEExeYGCeM4WqY 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 Wed, May 28, 2025 at 08:22:08PM +0200, David Hildenbrand wrote: > On 28.05.25 20:15, Jason Gunthorpe wrote: > > On Wed, May 28, 2025 at 08:00:34PM +0200, David Hildenbrand wrote: > > > > > Having refcounted anon page in a VM_PFNMAP doesn't suddenly turn the whole > > > thing into a MIXEDMAP where other things with a "struct page" are suddenly > > > refcounted as well. > > > > The special COW rules for PFNMAP require a single linear mapping so > > that vma->vm_pgoff can encode the "special" range. > > Yes, I have a semi-ugly patch to adjust remove that special casing. > > (less ugly than current handling: *still* lookup the struct page, and if it > references an anonymous folio, we ... have an anonymous folio. Because > nobody should ever,ever,ever PFNMAP an anonymous folio. Ever.) Hmm, maybe so. > In remap_pfn_range_internal() we sanity-check that right now. And fail if it > is not in place. > > Any COW VM_PFNMAP that doesn't go through remap_pfn_range() would be ... > broken. I don't think we have them. It is a really easy driver mistake to make though, you have to omit the rejection of !VM_SHARED, then go on and do something else. How many drivers use VM_PFNMAP without remap_pfn_range() and don't check for VM_SHARED? >From a driver perspective it would be much easier to understand if the driver could just tell the core code what functions it wants to use if (vma_prepare(vma, USE_REMAP_PFN_RANGE | USE_IO_REMAP_PFN_RANGE | USE_VMF_INSERT_PAGE | USE_VMF_INSERT_IO_PFN | [.. etc ..])) Then the above would set the VM flags properly and fail in cases that are wrong. Like you can't do USE_VMF_INSERT_IO_PFN without VM_SHARED. No more messes of drivers doing random and confusing mixtures of VM_XX. So much easier to audit if the drivers are doing the right stuff because we just check what mm functions they call against the bit mask they provide. A debug kernel could enforce the check. Then we can say with clarity that VM_XX flags are used with various insertion functions exclusively and know alot better what it is they mean. Jason