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 BE1E9C5AD49 for ; Wed, 28 May 2025 16:29:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2802E6B0089; Wed, 28 May 2025 12:29:26 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 258186B008A; Wed, 28 May 2025 12:29:26 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 11F956B008C; Wed, 28 May 2025 12:29:26 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id E592A6B0089 for ; Wed, 28 May 2025 12:29:25 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 568BE1A0E94 for ; Wed, 28 May 2025 16:29:25 +0000 (UTC) X-FDA: 83492851890.28.C436246 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on2075.outbound.protection.outlook.com [40.107.101.75]) by imf21.hostedemail.com (Postfix) with ESMTP id 750D11C0005 for ; Wed, 28 May 2025 16:29:22 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=CqkZapGH; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf21.hostedemail.com: domain of jgg@nvidia.com designates 40.107.101.75 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=1748449762; 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=GYFotg/zE/Pipzn3iOjlnuYmYNpdTBCF2BdZPX9tAPE=; b=kYUqu/clpeXlds4SmwoQz4zxw5WkIvWd7RE/muIXN6RlWQXIJ0+mba13EM8TRQLWIBBzdz RwKVYx5HviwW3pv1GJYz0kYfxC1GDygxTB56nSP0f7gywtcRCkxgaZjJo8bpT2nW468Qmu Q4D1RKQxCKXCBCZ+Ov1P7PzL8CqQJLA= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1748449762; a=rsa-sha256; cv=pass; b=UbJNtZabZaZvhD8yx8XZ2M1sYKlVA5dG78Ha/rzDF3m0EfRb4cax3wrmHg+11VtgsC094V NJF6fU7VoacJZt2WeyXDhdrBeSJ3ge4N08jF/cAO9WiEr6hzFzfPOiBvuRb/CrQrbvNTyp ZBl0QZuJrHzxIoX3pGDRP5lGvWx7l3Y= ARC-Authentication-Results: i=2; imf21.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=CqkZapGH; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf21.hostedemail.com: domain of jgg@nvidia.com designates 40.107.101.75 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=o30Q32lclrl3UaOzpovjvAZjzWn8jgkve5BjET5L2WGjOZ0Qmwc0je8QgV+MAcuPce4EusNRFdpyH4PK3/rxFf1f51DJv2nL3JbPjcNXV2sA7ra4o1B+YaG2YqYysEfO1pGdmX+cEA0VVLonCCdp/yTgzi2QsUTDMwNU2zwFAsoPuLp+jbzecdRBghox8vtObzBf84kGlUIp+urDXyyZx816+cyPyUMl/O03sIHUDKVCXkxEhOwx4bojDCqouJX6siZiBSwa3mFlKyjBk+G6+I5vkJbfeYz88h9Dy5ukAyxV+Nq//xPVs4lX/rEjQj9zAle0/M3+b5adSqG/jMGoQg== 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=GYFotg/zE/Pipzn3iOjlnuYmYNpdTBCF2BdZPX9tAPE=; b=C9+10OfNKEx6IlOswjiTuL4Ja8vQ8UzZLO6OkXk2NWDofhS0d5s798WO5dWwKAPdFCpk7iJ12gSgQEKoStnljd5VUNKP7o0ZES6Sf3uCzRGJ3/MOvoPjajoxxtZtuTb3iHBQiNfEXT4xBi3ewUQ2wvS1p3lQDknmmNi0uKdF2ZAcsEVefr7q+UJ31hZaCP63FtGIzZLvzhX6BNPu6fuNnmQnmkRZ9fBo+nS6tK+k6fCFendqY4sxzvFwmbD60p2+L1VXekKET4DRtX2yDTgqZrZt2fyzNus3YNSK93e3ONtow1CTfitHJt0J2ZfuHMQ2Cv6sXiZsBrupXy0Do9ia4w== 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=GYFotg/zE/Pipzn3iOjlnuYmYNpdTBCF2BdZPX9tAPE=; b=CqkZapGH7xB/smwGtWPLCac6R62mIT61JSav5cvFfP4fJb+myN4ioj+r5+Dkv9ytE8szjP5JImhk7W5uMwDN+QjCKSzM8+4FkXWrCN13FjavTZfJLgVmmlvOP5esSrAy1Fbc9uc99nL4Co4pAwhSlZKaddPuK9brBrYVfW3nQej06v35hgL9o1iq0Ct5u1ZMSoa9YstgGwjgtHeZ9yaiUlEqP8pRoRvbV3vnGEz4H09jySSJAsgNm+f0HQya3LzWP2hGzJZvCOcVkwQB4PMxP7NCBFQItLLTU75BbNuHrWUvjjyQ8mC6OM4EpfUfStb5oaohIp/4wMQVRx/wmP0JWg== Received: from CH3PR12MB8659.namprd12.prod.outlook.com (2603:10b6:610:17c::13) by MN2PR12MB4486.namprd12.prod.outlook.com (2603:10b6:208:263::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.27; Wed, 28 May 2025 16:29:18 +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 16:29:17 +0000 Date: Wed, 28 May 2025 13:29:15 -0300 From: Jason Gunthorpe To: Peter Xu Cc: David Hildenbrand , 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: <20250528162915.GR61950@nvidia.com> References: <20250528015617.302681-1-tujinjiang@huawei.com> <0d4f0180-52e6-47c9-b141-54e7e7c86880@redhat.com> <5b9f5952-9979-426f-857a-dffa9b7963af@redhat.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: BL1PR13CA0200.namprd13.prod.outlook.com (2603:10b6:208:2be::25) To CH3PR12MB8659.namprd12.prod.outlook.com (2603:10b6:610:17c::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PR12MB8659:EE_|MN2PR12MB4486:EE_ X-MS-Office365-Filtering-Correlation-Id: f2cfd6b3-a9e4-421d-b7b1-08dd9e04ca61 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7416014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?l6K+00wKxoYo1a3i0Q/jWTLQqSKWNx7RgFL9tzdzDS3qQY+nhrXDMUlpgZzi?= =?us-ascii?Q?p0gPEW2xhyREMf6Y18IGdg/1grtqBcNzIouS4ZKmxsIGHp7z3Y7Q1/ldSqhp?= =?us-ascii?Q?1bwWSOWXCt9XlLlRYdAU2lPZMUZnRwndUw+Di1grKnBAT9LzofWOGi3YIqU/?= =?us-ascii?Q?VbNBkdz38VYwmD1pbuGxmgz4Tyc3Y3uoYqVHaMt/u4bSXTUkisMSg41dnab9?= =?us-ascii?Q?T6TVkvZyFohCNDMrkombTqxMDAXPsPkckdcRW8jnYca2emyVERvi5CGU9AeO?= =?us-ascii?Q?pw97eiz37OCrTNHF403GH4E61Fcc+PpNOxyhaAc+qklfu1hQ+bqGRp0Wqmeb?= =?us-ascii?Q?x+mMRt85uvouGqLq4TwMv2XNkYcnUTqqq8894AcxPg+D6hM7WZa+AD7NOejf?= =?us-ascii?Q?Z+noEm58Vd1lJ3IJEhN1c+MLb6oYLgwiHNTxBQXiynhOIU89HRei8Nkbxanr?= =?us-ascii?Q?AgQPoy8qTX7ObRG1Lm4ERKPhhfIM8yOR71rup7ieZsz9deM66qPWiShELXdj?= =?us-ascii?Q?T1xR3hGIJXJtdi/hndcud3baGOwZPlE8WSGgDUQYuFkAEck2GVYvnc7B5wNz?= =?us-ascii?Q?R2pyl4zUaDwyx3kSqrb5npFsttPm+rEI909mv2yelVTqHwoJsxH5gyg/G3DA?= =?us-ascii?Q?oRTnYKa//Ot3m3W1o4eacJgmE8Juy5SMMuMxgUSE43FxH47egXZgBA3lrXn8?= =?us-ascii?Q?WtSG5I7pMHfGTwhqV5y89z6RcjPdShBnBhXtqJoXuoCcuni5hSe5qCw5izaJ?= =?us-ascii?Q?QXvOTJQNe58BtOUYlLwoDimADHL87oa2e3WTgDv4Il3aJ5YF+J7l4Tmh39+x?= =?us-ascii?Q?zvvmmbI1uh2mAU8WZj7BEHhZ40R5qXUAaomL7GxGZP/xX4/u9FlccXeQfkwe?= =?us-ascii?Q?1D3HHXqQF5q7mJ0qqph9gh95I0q+MejzUJuJx2qO9NBsq4xmWZOlOnEzMHhR?= =?us-ascii?Q?r4dgyvY368FY1ffZC/xSxVe1LfOATHHL5u88aGUFrkD0uyOWln4ftK+sqMNJ?= =?us-ascii?Q?uMTSgnjSTAhIHCit5mVbilpOS7mFgKVWaeXwGGv11mABmOXnJtaUrQvVSDr5?= =?us-ascii?Q?IpIitGLf9/SmFX+1OQJvZ/yrvuBnKx2GSnrZTeLOPp3hUHLo5+b4HMz/Q/qI?= =?us-ascii?Q?86Bawfw8KtVcIasGWJqLT6+csuw4rt2YUoRB3zbsmVQFiyQ6JrhPlPo0OTZ5?= =?us-ascii?Q?Xi8mMSFCVH5sMqahB5tdk+4ccCokjAMjE/x9cR7H0a441hmC+dqXFxxHIxaQ?= =?us-ascii?Q?ADeDdrZrZrsvXAWnJmgVXcLx/SkgIITGzGbIqLljo7kNFeF8iJpjpvFjtTbG?= =?us-ascii?Q?/rfhqgPC4XI/bTh1WPNFfbUqaJo5dDIfJGYgQSAyxJAOH+Ae93yso+D72kW8?= =?us-ascii?Q?vMRCMRX9F4M3zqwHmgUFfnYUUOXwXLlMS4dU/udt7MNIZpCbKyuxAvOn2d+0?= =?us-ascii?Q?aSumUpqzupg=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)(366016)(1800799024)(376014)(7416014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?9jrr8T6g6ulnQrjp0BvRU9Kct/Yfzv5zMOO4KukfVy58lD4HtMqU0SRcMWzg?= =?us-ascii?Q?+spGDg7EZqJNYSD7Jqol8fLhjlqYO+LqnOcOrhnFIF1WkGqGuZCkOz2W4Pxz?= =?us-ascii?Q?m9S1QBopPUL1v+sruxErk02KH3JFnvsc3oW0nIE8gDBJ5FX+0/t2BnOaeOXm?= =?us-ascii?Q?VbFIpgJbUNBUn6M2JBXvQXdqG5vNmdfrwc9lgAr4Jhj+MUyCzNzoagxuStfL?= =?us-ascii?Q?+ULIp5YFRH8/uXw5RJTDEG36I0Z4yHtgbgiVyStYJKs7hUMEFNITFr0+2QeJ?= =?us-ascii?Q?5sypjo0oKUrZaCGAU3F9ecxSEN5q/4xRNSYZcwe/Mfu3HvZj+J7tcvlp6y9B?= =?us-ascii?Q?0YlC+MdQLhLFw8IrwfBjfkOqJEfGRYqmoiZL7WrVvBCHXHVy/PvWzZ6yKHKi?= =?us-ascii?Q?IVgWub+ulU/MfEIx9UmVqmK3fKbSiwg/lMrMo8/4GuV7DwD6ptk7+zH0SKbp?= =?us-ascii?Q?CKE1iSSSn3uxiHBlnyDE8VCcGctFFilZ8ej0Jun7ANCJcuxx/l96UPND/iTS?= =?us-ascii?Q?6I1Wt7krBUOOhHO8svIgzZLPyWMxC5qp6DhJNTpR7fl+mVWFyPXkuCavNAEy?= =?us-ascii?Q?HC2Iaj1hNRdE/L/FrlCaw11B7BnBUdR7lxeIZvOMz7BZk03oSD/TzUCqFcyf?= =?us-ascii?Q?kiWs6PMhsA4Hn49D92scSR44w8gkk7o3OE3fwbgApvrExPg7AQ9Dk41NcfuD?= =?us-ascii?Q?55sbgoHiL9HrpnetKqKiNNfTW2vYlZiOscyYc9eQZFoj3rU5t3fq6a4F7FQk?= =?us-ascii?Q?/uG0Uc0UFFiYJAVpsg/NBQCSkgkh6OkTpycHF59WbVF1k3S2dpxKibdKFONB?= =?us-ascii?Q?qX3q9iGAED9z3ZaZabqFe/qfwjqlE4vrWBQwWNe9LEaEBfJPkg7kfWZI++cu?= =?us-ascii?Q?fxFxPv//YqFk0cQVVLFTp9ZAKufGYfI2pMkUv03UOUeQIMwG8lUp1fX3gMxy?= =?us-ascii?Q?Uo4T2n7THb/qvqmxiypcIuB5ZkukDm6Re5+Lwugp2VDQOIxabrw4oqHlKd/2?= =?us-ascii?Q?1+q4hyFSocVskMxLbWeNaOfH8sIGb/RWD0osh6ZTweXsahyVOvurMgStj4I3?= =?us-ascii?Q?Ive2pKu4iiGkK+QZ6QvM1vZcWer/IUnZ89Jdrrg+f7H+HwAuRVzqBgWOQ3fy?= =?us-ascii?Q?7/aa0yBVwHuoecx1tihSTQPuyS4nqNkgtb/MQ1TMjEsSz5XHalL7rY0AxRIe?= =?us-ascii?Q?mH9Wv45dG8xcRFV2NTyesn0Dp4cQM5Le/tWR32f+wTji0G6Cjvn6S5btw/Ar?= =?us-ascii?Q?wGutHVYBZtA2rlLv/RCIZMcJyEWK1u6R2+X95YOxFyHt4TYE4BswpZQNgcyt?= =?us-ascii?Q?E7NdE6IhD2x9hSLQqVvAqsyQZsqYYKXBKAt2GSpNJI98aCcOF9aQLI/gIZAz?= =?us-ascii?Q?zDRZkTYq+C08uLO+1r8HD7tEP+i+Zo4l8sBH+DW3TYlalUefbcp5ZPhK249D?= =?us-ascii?Q?K+wgZewb5OvMlE0ddvvM/Vt06mRPhF68rVHDV2UMi4A1JCajk+M0St29fTvI?= =?us-ascii?Q?l89zSYy8y0Y5yp0q71sDr7v7zm+YS4rCoapsZ/WagXnjlZpUubf3isxKBKdo?= =?us-ascii?Q?bW9/3xW57pSzv0SxSr+JOtfB2RIURJ73+wWfflbv?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: f2cfd6b3-a9e4-421d-b7b1-08dd9e04ca61 X-MS-Exchange-CrossTenant-AuthSource: CH3PR12MB8659.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2025 16:29:17.1934 (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: FqqOWAjzZi04h/2HcGwzlCgXeS3TGe/OGWHJBc4IOLvJh/gfzmUAtcvIGyZLyv93 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4486 X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 750D11C0005 X-Stat-Signature: 459trkhyrsspzzm35nnchnxrkd4qr1qm X-Rspam-User: X-HE-Tag: 1748449762-604675 X-HE-Meta: U2FsdGVkX1/10I4ZeS2UOrZpZJwHN2dQzTin40FwAdGjBizKWj9jBUh8k338EbV+QeiM+d7/7V00mTilk+FQKb1YLZWQ8R5i9WgGe58hMid4sOEDyg0bmsWhQFOk8xB3fBtGqegtrT1kvWn8Z/UvxgyMdrlF0Vy02PG+ob6vh6L1syqZCZmjpCO6r4VVxp3wQUw6QlQCp9299Kkdfzs7xi6E6AgH86QskwvoUEMFYMFqACsRU7HbIio2QrOt2R8LavUTq90Xu9gU/cgM6YplZwWg04TbP/dWjqMpgrFoWkuVJ8rQDuKWoBkVhs9/Qne5BOHg8nwQhw0UlSm7Fib1jE+31r13d6lU4p/jL6YJHiToQQSOeTMBvDr8Iyo2lXN9qRQYHwHTP0k3a7njimicRJQGBhSLfjLQ59zTTqJRpL7hxFnxme2bz3fp58MxKXWEoDN70bi1Yd/uC+bLGD4Ek3BXli7yN654DujwUvQ0BQ4Hdyy3l8CxQ8ZmqtuMIvPiiN0BSHPC0hmHhq/YrDcX2PooqLjj+R333+rRssU1segOzPm4/IVVfg436VXt8+E36IeosuP1XUkIjwl4SFI969cp+cvrpafScjrD8Vy+HNJl2kLfN2W2PsrDlL8TSpWJp5vNzrH4+tODFjp75Pe8K+6BhX3JzBDZbjoRwwEwSQh7ybEdMJoLB3Bh/1ZrHKTrai1UtqLqw21fFQNQtnKsAWCzOt47SiMpOuzGvOCEuNXIjBCnu4ODCgiW8dDohzNoYHnSOyCLBAifDPcPDXV5T8QER5ZULC45KTqVeqzlz/jklZfrWGw3CSsK49a/P1PdVQ9+Av5wGPxpUHRqrbFYrYRKSpcQIf9oz38q3C07wE9udv6KDF7Ag36QzS59T3hH6+MyfvD6W7uWTY+dHysWiOJ+fLf0Kw+ssnl+xlnWz0WNEcsfndFQQpP6z7DzbwTK5E1OVglAzOOjRMr5eIn KxUdT0+j jyW6EWitO4336U0NLzbv5Brp8ffkkBGvTYC/QrQmGWW3cZAtCui7g/dRNsifQb/ds34JdTCRlHLm6KhEGilUiZHIU4P0QSbsWdWS6zXERywJ3OFxS1hxRpRkDZNfORcCFedJZ+VWPc6ceSprO7pa9kbq3O/pHBuBdqYByMZRd0zk9WS9iJVW1TNunMs5b5FDfEIlUpJDuQDYAWv8Ugnd5n2xYDJNRZltNLVaNjooof9royvcQL17ur2G1YN/iLB7Xf143PFVj2E63onOET5YqbXrDJobDY8rtWceVkA1H+BkEMCMlKJiPJIqEqhuaNNyLG34DXKLux3yAcCER1cDkFG+VnQc5nxslg6unhi0/1VqaFT0EAaIvPCWYZQaKnw8zTuQKBGNqieEHNilMDfSYlHEtyYL6zm8dl3z4Xjnk+ysQpuoWaxquA93zXMHr8GZQkkmqY+oME5RpbGg3lvK4yUuFpVC/pl3tw8BrOrBCJ0N8Y1541igzuEU3TeSH8XDptQVA 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 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. It would be nice to update the comment to make it clearer. If the VMA owner wanted to permit access to the struct page then it should have used VM_MIXEDMAP. The fundamental difference between PFNMAP and MIXEDMAP is that vm_normal_page() is allowed on MIXEDMAP. That comes with some extra rules and restrictions to support arches without the special pte bit. VM_IO | VM_PFNMAP further means that all the pfns in the VMA require the use of io accessors (writel/readl) to access them. No idea what VM_IO | VM_MIXEDMAP is supposed to mean. Only the special ptes need io accessors? 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. The main value of MIXEDMAP having access to the struct page is to allow the page table itself to manage the life-cycle of memory that was allocated specifically and only for the VMA. It will do fork and unmap properly and free the memory at the right time. If a driver is managing the memory lifecylce on its own and using zap to clear the PTEs (because it must to manage the non-struct page PTE life-cycle), then there isn't much point in using MIXEDMAP, IMHO. I wonder if some of the GPU drivers are confused like this. Jason