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 3C657C5AD49 for ; Wed, 28 May 2025 17:48:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BA2226B007B; Wed, 28 May 2025 13:48:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B515A6B0082; Wed, 28 May 2025 13:48:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A1BAB6B0083; Wed, 28 May 2025 13:48:01 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 8370B6B007B for ; Wed, 28 May 2025 13:48:01 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 3C7691210DE for ; Wed, 28 May 2025 17:48:01 +0000 (UTC) X-FDA: 83493049962.09.7D82CFE Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2065.outbound.protection.outlook.com [40.107.93.65]) by imf23.hostedemail.com (Postfix) with ESMTP id 74AD3140002 for ; Wed, 28 May 2025 17:47:58 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=HHqqV92L; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf23.hostedemail.com: domain of jgg@nvidia.com designates 40.107.93.65 as permitted sender) smtp.mailfrom=jgg@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=1748454478; 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=GloJvh/+MkvSivb9F1c2t8V6pW3/jyT+YYD4jXjx1lM=; b=h22vKwrGY0pJHfC8MilakS3lS2ROsCg8kl7BYt2RhNAwBUJoyMS2nuAUYR7ewYPynwJH9Z /IyAFJ9L0XcaKcdGslh2JyAgyMK6LQivHZh/UYB5/Vjaz/lwhV93FHzqLwWEtoUgepvCys SJsjZnxLgiW5HDDkcl+u6Lk95H6p038= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1748454478; a=rsa-sha256; cv=pass; b=WiBBksdSkQ4VSgO1amektpfUJ7uc2eDjQy9K+GYIxypxLyAw3b+aI8XjrTSEpjNemad45J 0BWsVmWZNf2OYFYkwlXa8OWBZOKnicvjb6PLy6duNYrlJGLa898uZwZG46ztUrFDa6jbB/ IF+Zbg9hGG8G8Jy+VLetf8z6VH37ul0= ARC-Authentication-Results: i=2; imf23.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=HHqqV92L; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf23.hostedemail.com: domain of jgg@nvidia.com designates 40.107.93.65 as permitted sender) smtp.mailfrom=jgg@nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BLmlDmgYZgn+h1TIN/M7mc71gzCU4w+walj/LX4rJR/0tz2sPRm7lkWFP2/LnAN0WTl83bzLtKnowX/NawxkomArsbEbXiAGwhdLl3wNknUKcDh3V6S5OJvO6vOHv2n1BIwCfPEUClbN/VIYlWBeqcI7R/Vbp+0cKXGIvh1Q7IeINMfYQN6HXljFUk6cHSqBsnQi78Vm/5SbKOotob6Gn538/zP+fnZr50OvqpkfhoT9IKXL6XZyh7kiJCkjz/7bqV1Opc5i9YAM+OZ6gcdo2ofZtKNzbOfztMkIVGXZykujRi50s0ZrX7Yl7+0+fxfp6spHdxIQOWjv8pQmW3OuMg== 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=GloJvh/+MkvSivb9F1c2t8V6pW3/jyT+YYD4jXjx1lM=; b=CIIzRdG1KcHcpzj/REr3DWURJa0tpTEAmkLGM7p7QofWqTffd1GV9lCHDUjTXRBDFoiVXV3S3JaCsD5gfr25+Uu01DB2emWjqpsCT4jUooLGNLjDZRB8dBvIVcx4+PNULrO3PMTVwwMW3H63R+Y/rx7u2jGbm8OuBYCcZHEk4cuteZ/TvHUHc5CfYs6SgjA2T6pG0ikfOPDWwWUC8PMMHMcy6jcEtLl0SJbyRB66fBD/mFsUqe879IrkNjzA2OwjRNceyAiaxFlwVIhE6DbV8uYr5jDMpClRTPuVRQq0evTmb9JMHeSjezBy8mnzFfF69Uj4jpPcVbMoPuCXD9VTUQ== 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=GloJvh/+MkvSivb9F1c2t8V6pW3/jyT+YYD4jXjx1lM=; b=HHqqV92LmpEisTg+MpAX8vx995ewd8TT2oabbIiAf0X65LpUolVZiRkzoDRYnxTgDG+YmGEq2OvAFzzEHMehGDDw3E49rUI945NFw5GZznRKEdLm8q0m5SUD8YPvCnsneqIhQ8Fl02U9zpIzN3bEsy72tQ0uPrmn2RDT0pBkqMlydeKsZutADUuRUXqFpPPu07MOKBj6FHAbIVohIm99UI595zEuxJr++cphtnH8cCjiiAC4MeGhgugr7QozsWKQBfIV3nPYcG+NjnOD/qdBeVV5OxLbM+IdOKs2YV7OFP8kSuO5OnQ9MglhfdvrKyr2e2+T1E6kmTO5npLpUbGhAQ== Received: from CH3PR12MB8659.namprd12.prod.outlook.com (2603:10b6:610:17c::13) by IA0PPF12042BF6F.namprd12.prod.outlook.com (2603:10b6:20f:fc04::bc8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8655.33; Wed, 28 May 2025 17:47:55 +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 17:47:55 +0000 Date: Wed, 28 May 2025 14:47:54 -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: <20250528174754.GA61950@nvidia.com> References: <20250528015617.302681-1-tujinjiang@huawei.com> <0d4f0180-52e6-47c9-b141-54e7e7c86880@redhat.com> <5b9f5952-9979-426f-857a-dffa9b7963af@redhat.com> <20250528162915.GR61950@nvidia.com> <8b307f83-6a16-46c1-b71b-64af9ca0f592@redhat.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <8b307f83-6a16-46c1-b71b-64af9ca0f592@redhat.com> X-ClientProxiedBy: MN2PR12CA0013.namprd12.prod.outlook.com (2603:10b6:208:a8::26) To CH3PR12MB8659.namprd12.prod.outlook.com (2603:10b6:610:17c::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PR12MB8659:EE_|IA0PPF12042BF6F:EE_ X-MS-Office365-Filtering-Correlation-Id: 9f52ae0a-39bb-4626-ed79-08dd9e0fc6ec X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?z7eaB9R0TuGgj/wTNAuZwVibuIOdiNk6ePT+pw6kTmXYQmBryI3VPhw1HNW0?= =?us-ascii?Q?GjoIWFvvvJj3bL9OnJZGYjOta1tZpuEAztdtxyTbA+g3mkEH7vIyAq1xsUeU?= =?us-ascii?Q?8FDYi52gOvCVyDgtHzjF31LHoRKDT9kFhlj82BlBp7ddZwow80gkpKCXDb2D?= =?us-ascii?Q?YAPHgD81Z+XF4d/we5ixeoByfhuy51wisc06mk+y4Opm39dY8Bs9FSry03+d?= =?us-ascii?Q?u9MQEEnm94td53az4h7vp/FSAwRR1YUszwS1ucDrjcejTQxS899FtoN0PRIX?= =?us-ascii?Q?VrxdQKbN6gWVyANUD3Ejyfp6clun6IZiNy0SodG387IPwYbDqyWK8Zvz5HDl?= =?us-ascii?Q?pkpYwj5AgZp6jbQfgL5fwPU8IXGBlUQOHLPGCaDmm8h0AohIMum7Bk1kJHUf?= =?us-ascii?Q?kUUm5fKpro4CBZYA9okEaNtK7DSYPRbXOiveiCShzaUdqkYtiY2CtR5MfuNI?= =?us-ascii?Q?106VnUmRTbvHXbzKb3MaoRf+1mWqIAN2yyRKm7FpTd15avq1w7h/s7EmDDH2?= =?us-ascii?Q?PkGmruJjDJssHzUcmaUhp/nw8cjfGBnYR1wbWxtHi7v8YJ379dfA7jDV3hcM?= =?us-ascii?Q?1QBBSwcq04mFGgJnPx/GkJ3wpFJx+4DRsbxqlf0BaW5Vq0+KLbmI8kAtsE0Z?= =?us-ascii?Q?kWt5VWiFgqTBynf/nRd+qMNbkiiuRZs1g7bJDj3E0tGB4ROqyZHNCe7dhqbK?= =?us-ascii?Q?BhHqjct/IY2++nUeVcjFjvKuMVgYDWJWO1HPQDrDYqyQzkEupMjDvC/B+u64?= =?us-ascii?Q?p0o06bQavqlWADvcX1GyD5S/jPzZuMQ+MUKGFX5F7VN9/AYM5LzSBWgxQrow?= =?us-ascii?Q?V1xJ02HJgYLtkc72Zz+1sAyg0jPS/frk9u6HLJsifxXFqVjVUIw0JkYL+qOe?= =?us-ascii?Q?lJH9isZlS2pvtrY0eEJxilNl32k/jkK2U8wsmguZPvMOrjeNAcbRcd+H9v8g?= =?us-ascii?Q?Y50tZSLVPC3UkoHr1HwGPoeaOswp1pq41Cz97XEQxEiSd6OSbjrQHRRK5l9/?= =?us-ascii?Q?ldPPVlbsXcAt5uy/NfRD+87ixIBgJ9gSX43iKBeBM0WLqncTpHSi1LxKwU/D?= =?us-ascii?Q?RA429vTTcXyFWIFb5pIlU6BnFmn8cWnRz/yuavSFem9/zr9O6PKNvDYkVjoA?= =?us-ascii?Q?OENAaIBxDyKsqrhZcZl2PE0Kqo6/TDsvbKLuaJxY8XhhQU0rFx3NuHh7E31d?= =?us-ascii?Q?MzbucrgMUwd2SR85FO2JK8eLJsUI1QRBHoMBmxaaVYEH2mhX22kEiu4TStoQ?= =?us-ascii?Q?4VxpHTIR/LNJKOYmGgMVHVkwilGYb680JJoFBc4Lic6qydnP98uKbKThWmba?= =?us-ascii?Q?xoW4C3ep3qoXGYPUndawDY7j7DV4OmPYzKoEAJhdRaMU6Cjcs3q9dvyKdm9g?= =?us-ascii?Q?N0uxBqa07YpkR1IAd6dFFCQslTFGKDBRlg4YMr+Ifu/qOjYBIw=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)(7416014)(376014)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Z8birR651hcte2Zm9uE8DlcwCWmZJEJUr5MIy4bDL1slbijdYMKz9Hz3f36y?= =?us-ascii?Q?LfNt/mpeX3rh/2KwH4m9n/qs16VlKo8qzg/uBvouJmXC83fPfyYZUrjrQCMb?= =?us-ascii?Q?72Cc3sC73s/BQc73WR4QU/ZG9SyovNu4n5wA25fZVG9vjKfDziXxlwxMjhqk?= =?us-ascii?Q?k00K14ouXSAT67CqCr1CaiF1gMon6F1Af9nETFQzLihb/X+w+p2w1ij/l26A?= =?us-ascii?Q?a23Yp9vNB0Ur9ShIVCp1dnPzleLiVfhh5FaYAZ68KngEClbmrDQrR9YiJGg6?= =?us-ascii?Q?uaq1yBHWFwbzUSnARlQo4z8C9MUGxOnPrP3EW8BfY8FjrZWQ7WkojPdQDALa?= =?us-ascii?Q?epu2Ogyy2QJVTFnkqbX2f1wCIqvMJ4LOlZ+DkM2HxounQBRkKfsWb0lJWQi6?= =?us-ascii?Q?TrfAVwVGA6ADLTbGpuEOXpBhxx1y+qFPYlgX2pRNgWFOPHfp3pNe7uYEESgC?= =?us-ascii?Q?7UBH3SaWOybkLzb6WMZqBH1pHwZUJ/xIKS3n7SvzLO8e8kNn9tsbyepJ0Nax?= =?us-ascii?Q?iDT2RpK+Le6jkTi+fVNymX2TEt1q/Ma0L1nzQVEnzojHF4usGtloGRWlkMsi?= =?us-ascii?Q?8KXAshK2beXheyR/6SdyzjhH0fQqYF5YfXTiLqabXDT0fWFg3OupOho6+GSl?= =?us-ascii?Q?ptqykx4frytNIpAL8Dbdu2dOLIFu4rMeTpFFdZ1asi9ZGjN+iMT+clOLPe65?= =?us-ascii?Q?R+H9RElbMpD9x11LtPykwvLGdiJ6ISxxSEFZkbVFxpyx1+cshyXSaG2VFn5N?= =?us-ascii?Q?LO4Ro6M2yRU12cEm7nva8i2T9Jm0umKfKCJ0PG/MGdKplwZOPOIj9ttI4zEs?= =?us-ascii?Q?PQbaS567RUxwYQIslOFHcMTqJ4sgMogM//8SGp7efPiq8hVjW7/3+xNlvgA5?= =?us-ascii?Q?0E8maaoAxJSSJ2G7MNInDqDLH+DOJFo81J9jNr7FQVNP2iFsdMcd7qieR/e+?= =?us-ascii?Q?Pr13RgXMNAMcmb7qO6gIu7Iqhf7xNK9YYoDGJ5ZB12DqxE4d8Xe0WVVzfnR2?= =?us-ascii?Q?LLfBKVFY9Jg9xrUkerbjmfnmsQnWdofEPbTiGGz1Mf4VzYi/lj+9qEuc7ysZ?= =?us-ascii?Q?yNRPP4bfanENqyS43+zHJ75ghacTVxSrjEeksSwKwCeLKyJMTpsfAwkgVBHC?= =?us-ascii?Q?DhvSnTxFFTajOn2QJhuoPv2Gh9Lbz4oo0nBXDeIVCZ20ir79Bdo3c4Zd04ah?= =?us-ascii?Q?At7p1728WfZxtXdHNeZWz55GsxicID8UQtPBwoBLzB0tQiiymAlxResNcrTC?= =?us-ascii?Q?Z0830nxURbEn3B06QViqptWAM92gTeIiIa8bd3Bo7mzqjAUonzd/78bMrTsy?= =?us-ascii?Q?Es9FERPhhaUCkkWZ+YuTdHnFsvjcws5ahOsNiA8T2TsJYdIVkmTLZooRJOXJ?= =?us-ascii?Q?yUmXEtUGL2rmxeXyK2eKu1qhKlNT8qjQuw05o5ldJDiqVSY0zXk4t5IDNxs1?= =?us-ascii?Q?++pjd+lhKs4V0YSXq4KArnoXvmjFtEZDvc89ox4dgU5ztT/cGMRX//uQgLED?= =?us-ascii?Q?Ckj2J+nB0Ez4kbNAA6oM7wTc6Qkrqn9Sel0/xgNblWUTlKUID9theH2qC/Kx?= =?us-ascii?Q?fbKTFl3KaeJ7CkRu9WcbciQSDUnm50j2+96IeYwo?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9f52ae0a-39bb-4626-ed79-08dd9e0fc6ec X-MS-Exchange-CrossTenant-AuthSource: CH3PR12MB8659.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2025 17:47:55.7269 (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: FcyqsIGJMt9ZuwGYU5jjF8dBui9pWz12BMJIc7qn42+KtKAOWSEPeWxX9CdscnT7 X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PPF12042BF6F X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 74AD3140002 X-Stat-Signature: icyms5kkjpa7k4wfzix4fjkq5q1h7zcp X-Rspam-User: X-HE-Tag: 1748454478-952985 X-HE-Meta: U2FsdGVkX19In9pVDrEiN5xECKu1rbnFFlYZbbooLZi7vcFLQfZvb0DecfTJDq+YkP42es1KR6kmB4UIxY/FHlDQWCYn0BLB4DvNitPsbqaT9Tqc3Zui+yfWj9ihInZrhau6MykZc6hPt4yiY4aEhSshJsa9ifaVDVGGa50A6Oegv1XyRdEc3RP8nd/A5irWVpZrcTRLvtQrqI/9VZ0OXVCfk6etVIwPVZxy8Fz8ghITXky7CamcBBLliBHi4AQNcK32NxM3icNPomB/fhbN6ZmD2LTViisiGkpDif0T3DkLD9KC+z0/LQpEWjDyBtj+vVKaaICo4lsBW8nORij7nWh0nnmh8d3XiQw6JqWLoSYenhC2fFvKe7uog1zMv0jU0fx0Q/djVdnsSrojM1adbrxKaY2UL4zWLCNUb64HSRH4Vx5RcCugHtDKGVb4scIRrJWWWmJ8QBZCVcrRXtYRANALh2bKfiMbbQ4yNrszSYuZArEjBoeiilQRkxDTzEsi3DYpw3hlSrzbK+4EedkSE2Npw+LyPfs3+UpjBR41qZJRt9s/pXTtXTBdTjncFPKJglwr+45RqSy7yATcVfqmETfPOP1sE9PS7pckor70bsOd0xFPxfCnc9IP+/Mr7ACYWogrGqfNefnvwDMVCH/ybd9ExTd9fhIjvmSYWItz6jd+mE8SiMAof+cGDkhAaOQgvh1C6ZeVlLeHstw3qtO4G8HOlrf9Ilop/nYDt5jSNh/RQwxjLva91bkLG1Ir8buMGDKVR5cMSP4D3hWHB/9LzCPoelN964QCCNBpjkQDBwxR6dMkSy+Zvk8XluSBBfXtFnze7aGpwxZ8t5aL2qy8lx+4zMZw+vP7Q6PMa2NyEAKNwzujoVxvUCj49Xbrsc+XoycPD7W75I4Qz2jVGUfxa2hqgMZpWmEs9W7TBDV00Ccus9hkVIWb/jmcnzABwe2QYNKl9pRmRUjh9zspHgW ypifMURN D9kN/OXjhLOGmSpDvGTBbSHxRaZ/W+NWVzAHKJ3AqefdU91PBFTJdOBUGCF/+IYDd4oakLOuR4nVcjYlROeKj82etcIaSzdjVJEnEiUrbsefOeB2hq97odQN60kIkl+mFun28k8JtquO8ia99TO82Fj1fbKYi0nfOT5tuNOmLBQ2W7d0p7D2ItEzvSCFjXse/RTt7W5ITIPQIzAoTs5xNQo7tfIdnEzEiHsMLX8bBcO0i9VYrB9zQOktP9nmEro3LBVBQfj5qu4Ob/Mhz4tj9UfKP9tItZrYgSf8FrGr0JE+yE9iJo40VV/asWjHXSyR4uUg/xdB4jXozQ5B5YR+pZgTL5CXbpL/Wt0GeAkTxThK/2toQIctfTYPh68Igr5XRLSN5y4eXYaV8npCKQD97XQrDp2bSdRt2dhdxvRONAJ3482/KrpsbobyTu8gvFe241oLj2iyhgzGvSn9Fo1bBUBLyzcZwkot425qHiTplHAgBhyBZGRpeEWfFs7z1EDt4L0UF 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 07:32:59PM +0200, David Hildenbrand wrote: > On 28.05.25 18:29, Jason Gunthorpe wrote: > > On Wed, May 28, 2025 at 12:06:07PM -0400, Peter Xu wrote: > > > #define VM_PFNMAP 0x00000400 /* Page-ranges managed without "struct page", just pure PFN */ > > > > > > I'm not confident to blame any driver yet to have those special cases for > > > VM_PFNMAP, because it only says "managed without struct page", it didn't > > > say "it must not contain struct page".. Hence it hints the core mm "please > > > do not manage these mappings with struct page at all". Still sounds fair > > > contract, even if not ideal. > > > > I think it is pretty clear, if a VMA has VM_PFNMAP then nothing must > > ever try to obtain a struct page from any PTEs in it, for any reason, > > even if things in it might have a struct page. In practice it means > > nothing can call vm_normal_page() on a VM_PFNMAP. > > No, not until we remove any COW mappings of VM_PFNMAP. I stand by the statement, the COW mapping thing is broken. Just because it is wrong doesn't mean it is allowed to call vm_normal_page() on VM_PFNMAP. It makes no sense at all to have VM_PFNMAP where someone has COW'd the pages and effectively turned it into a MIXEDMAP. It should just be a MIXEDMAP at that point!! IMHO we should have the core code complain with a dmesg for VM_PFNMAP without VM_SHARED and get driver authors to fix it. Either add the missed VM_SHARED or changed to MIXEDMAP. Make it WARN_ON in a few years. If they can't follow the rules required to use MIXEDMAP then they certainly do not have working COW!! > > In either case GUP doesn't really work on the VMA. PFNMAP is totally > > blocked, and for MIXEDMAP userspace has no way to discover which > > subset of the VMA is GUPable. I think that GUP is supported on > > MIXEDMAP at all is a bit of a weirdo thing. > > IIRC (after recent discussions with Lorenzo) there are use cases for that. Really? Somehow userspace can know which sub slice of the VMA is GUP'able? Gross :P > And there is no way to block GUP-fast either way without > pte_special(). And pte_special() ... is not for refcounted pages. Yes, on arches with the special bit GUP-fast is properly blocked. I view those as the reference behavior. If non-special arches can't do this check then it still not something that is uAPI because GUP-fast could fallback unpredictably and go to GUP slow which will do the check. Userspace can't rely on it to work! Jason