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 C7B33C0218D for ; Thu, 30 Jan 2025 23:07:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 53B966B02B5; Thu, 30 Jan 2025 18:07:06 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4EB346B02B6; Thu, 30 Jan 2025 18:07:06 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 33DCD28028E; Thu, 30 Jan 2025 18:07:06 -0500 (EST) 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 1354A6B02B5 for ; Thu, 30 Jan 2025 18:07:06 -0500 (EST) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 84DD014029A for ; Thu, 30 Jan 2025 23:07:05 +0000 (UTC) X-FDA: 83065655610.15.5265696 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2074.outbound.protection.outlook.com [40.107.244.74]) by imf10.hostedemail.com (Postfix) with ESMTP id C6F13C0013 for ; Thu, 30 Jan 2025 23:07:02 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=qZ5t1y15; spf=pass (imf10.hostedemail.com: domain of apopple@nvidia.com designates 40.107.244.74 as permitted sender) smtp.mailfrom=apopple@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=1738278422; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=ckLczTdbd6CcujBvy0iAGAoEK8vq7yYEAR8Q9iGHm+Q=; b=WMAyaYz784DuzN2uxcGsQIzR38QodY3WK2bk771vxT5zXHhqhBkLf7Ne5E8kBeAei42ih6 1PxWfkAViH+/aU3y9loxaBMKNg3us6vGGfjZ2Ws7Ambrwk8R7MARpqrkXJ9tLJCkPElFvV KX3vUqlyL7oVj4iIPJZGtZx81AKInTQ= ARC-Authentication-Results: i=2; imf10.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=qZ5t1y15; spf=pass (imf10.hostedemail.com: domain of apopple@nvidia.com designates 40.107.244.74 as permitted sender) smtp.mailfrom=apopple@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=1738278422; a=rsa-sha256; cv=pass; b=sQMtjUwGUdWM2A7AAN5vkyqU9zBuRDfGbF5x/FLIyJlb2jSHEyxz6MQcf5Zvj4DFdWY7Mn 5March9t7QrE3ztSE+lwCoVVE5PL9w5WFAV2b7BRzS+7JWe5yLTZ1oc/TmyYgEc89jaGPu BWaV+80OILChpRRH4Hewbegq4YFCVIQ= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=FnoX3AV+VsDP6iNYLdFp7Lj4m5invGLTN9toOgB+yjH22O+sDqtUiCpeT4iX7n+bYoe7M9sYqzBSz+dOGGQTR47IgSO4oCwuMsUDPStY1FALjy1+m2XuL8niQ1DMNS1y1kMX2iIRbKm8TOdUstRsI0wmnLUK00HYzygsVjlJzmZljJ5pqw6B85iADnlb+0RHR5IRM+kG8DbxiQKfygx0a/8IXH4l4n/ZreR8mgJtcR0DZU/SMvWdnD55tHeLLkuxvghkxh0F0LO7xabqOBpfvkZsRj9dAV+9ulev2j+/NT9zF4vBj4aI2gkFsxQMXDy+TNv2LtqcGNoxTWKB4jVusg== 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=ckLczTdbd6CcujBvy0iAGAoEK8vq7yYEAR8Q9iGHm+Q=; b=nxTSYwd+JXk0di2hJ5nX9tsrvOt66vYW0MrQvG0fd/VYDRdLe74f80PxBfxLJy0QKioKmZbAlri5Asdx/D8LNIDjADDpxB8sOkOfZ9GV1+JLfdyDBYJSzkk/Qf8QBigPAHPH1OQc4rqXT74s5jzt90uA7NLoUQlJQMe5XxMNKDM8cElMeuD5qdBsaJNPntQogZfA6OpNslj6PVpIK/sh4lajmrNc2HAVl2Q0ODKvDfKen3aN9HkpMcNpXx1a+O4H5eZ2MmK5RRm8oxzqoUk6F0+YHvA1Tv92lpf/mEzeqRwWEzRoVVzA+oUtT0RN3bWd0oRiBPNLwMZ1MCo0uvYjpg== 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=ckLczTdbd6CcujBvy0iAGAoEK8vq7yYEAR8Q9iGHm+Q=; b=qZ5t1y15zYaQ5UIO+SCrCOSQ7mEiyMpK/RHndiWvdq6HPxBL/a8YFbPCtCsOXWiNsBMKZod6rQeMIAiXPLTwXWoXN+NHV3AdP7ZoXPaqguEbfpl7lAknbef8sSr+wpuhzZ5KfZ2yQH/Ff67okhCoiVaxE6E3b6ItBs16zlz0Je0wpaSX4L0ajTMK+ATBvHGPX29qMUwhQhDl+lUC/EyNnOkXYCl/UZq3SF/hgBpudc6sJ63RcNVSAiJcLUyYDXkhAuKiPrKovf9/7GoXFM2TxCLplv/zWbSZdL84I0neoRnkONf4Xp4m9Ex1D6i52yLMNzV8YC84AbEuOyc6Z8LK7Q== Received: from DS0PR12MB7726.namprd12.prod.outlook.com (2603:10b6:8:130::6) by PH8PR12MB7351.namprd12.prod.outlook.com (2603:10b6:510:215::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8377.23; Thu, 30 Jan 2025 23:06:58 +0000 Received: from DS0PR12MB7726.namprd12.prod.outlook.com ([fe80::953f:2f80:90c5:67fe]) by DS0PR12MB7726.namprd12.prod.outlook.com ([fe80::953f:2f80:90c5:67fe%7]) with mapi id 15.20.8398.017; Thu, 30 Jan 2025 23:06:58 +0000 Date: Fri, 31 Jan 2025 10:06:53 +1100 From: Alistair Popple To: David Hildenbrand , linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-mm@kvack.org, nouveau@lists.freedesktop.org, Andrew Morton , =?utf-8?B?SsOpcsO0bWU=?= Glisse , Jonathan Corbet , Alex Shi , Yanteng Si , Karol Herbst , Lyude Paul , Danilo Krummrich , David Airlie , Simona Vetter , "Liam R. Howlett" , Lorenzo Stoakes , Vlastimil Babka , Jann Horn , Pasha Tatashin , Peter Xu , Jason Gunthorpe Subject: Re: [PATCH v1 05/12] mm/memory: detect writability in restore_exclusive_pte() through can_change_pte_writable() Message-ID: References: <20250129115411.2077152-1-david@redhat.com> <20250129115411.2077152-6-david@redhat.com> <2670f65f-e973-483e-aed6-526d00125ad7@redhat.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: SY6PR01CA0054.ausprd01.prod.outlook.com (2603:10c6:10:e9::23) To DS0PR12MB7726.namprd12.prod.outlook.com (2603:10b6:8:130::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR12MB7726:EE_|PH8PR12MB7351:EE_ X-MS-Office365-Filtering-Correlation-Id: f162f837-9ada-4f2b-8409-08dd4182cbba X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|1800799024|366016|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?YXxpvTey15wY/Xfa9/aorMzqaA2z7d8So5onz50z2sltb1SBzoLETaNP3cd+?= =?us-ascii?Q?7kuChZ3wuCMqfSGBYIZC/zw3oQIHPMqCKxkXE35QZ+uLswou/6mF22W2SR20?= =?us-ascii?Q?wu/tp6sgAG1/mJQlcAqM2+lSbMoqO5nL9NR6I9noivHK2OBZDNAxaUXv+luF?= =?us-ascii?Q?hdK86/8yLHEmU0rYa2IYJuswrFCjJaorh1D6P9YwTPAAFS3z4gzgMrZZ/8mT?= =?us-ascii?Q?bgaYqXG5Pkn+LHE3imY1yHz4+CJBnvppPOI7hLIJgyRobcEpigM7yymvkNiq?= =?us-ascii?Q?yoWViAm2xvsLGbqAHZso/LUC/fcQhzDcc9oW34mXSgCND4uzA7exyG6vXHvD?= =?us-ascii?Q?Ei+oSuMaNUa/UYP/X0gUoiAg7DfC3CPz4JOfm+8j0gHO4UVLYNe4tkQ3vIuZ?= =?us-ascii?Q?9j5L/cg0q5zf+qSkpe7qhoYBuOLWwOUoDApM7sc4vBByCynKYz0PEcYe1z5a?= =?us-ascii?Q?oJLfZVvZ42S1Jvz3icxprDCxotHA+OeH8ytkYf5Za+Lzg3GoI71vXNQa1jzd?= =?us-ascii?Q?U6OPgHLSEKaPzNADBj8LUFlkdpsDmWDq7BJ29Fc2Wt/qOe18gWQIyTwKURXv?= =?us-ascii?Q?ixlD3EptaoeT7GcarLXDz+UWT+jTuoSeR/0AZb25CngcIICEmMQMlbeK6mur?= =?us-ascii?Q?Y4K4grzZzQMdySfYgBFT925mVxRi4GA+4DwTnyD8EjnDR9MPKH1WVesCED4F?= =?us-ascii?Q?FGffZ+gt+6qWiib0f1GEsV3wzDU4E23efPHsDQG551iDNbL785MvOH+IbETz?= =?us-ascii?Q?9Nc/TghcUpPxsYWRHXJ1RBsP85DNU87JKrjS/YyO3USktqpHIOI3fTYuX0FX?= =?us-ascii?Q?nQ/SvS3/+ZJTvRcDTblArbmKquYSU6e8SWnsN5YawXYqVNFU1scFiyVuAz7Z?= =?us-ascii?Q?07O8/53HGJEgoixqzUj/Apq9lFWIwILKv0fYTQvWkglTcjLaX1vqt47N+pd8?= =?us-ascii?Q?kUeV8GooUTcXrTMRnjrHJwIQ/TD9jsvUl3dF4VPgeGixVzczRSixDfNhOIAi?= =?us-ascii?Q?auB5pNHZAGXCN4Qbg6eQPqjrgYr8eBqHIdFKfOcull8l+NThd/RTrGbo/ngW?= =?us-ascii?Q?RWW3uqjA9gtjITKBzfwJnB1c1Ikm5OfqGRD+zFjjH5qNyma9obyhDqa0PuYI?= =?us-ascii?Q?l9kFe4PZBqS26QGbPfUYgR/voEYdDH/KHq3wN4wT3E/vbfXxwXSx+vmyC3d7?= =?us-ascii?Q?YTBnb4B/0UwIFqLJr2an4JbqdUpM2hAMHTciyhqjVhmoUxRcSj/reEeMibgB?= =?us-ascii?Q?02JK9L/2IEfjDDOPv+isU2uPHWTLhCIIHKIl3Dg6DDXDZqMrxDeOtHaqzAlR?= =?us-ascii?Q?XvHBMmkVlccU78g+l3yoc5GYHKe7FC/L7wkG/z8kn+spoJUGTBWy0lhAnqt+?= =?us-ascii?Q?ATBVUrxpxBncXg7FfYahy/O3u8aKHoprcAZwS0deTXX3+V5E3QZkSWz8ogKl?= =?us-ascii?Q?mTkKwA5zcbg=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS0PR12MB7726.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(366016)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Yh3hdTIYL2UfTWGCfTn9/h00nRMnfxLhgz8mQlM36pu/wHrzMmkb1lmk7A7U?= =?us-ascii?Q?aobTBSDmaAMAj56rTFdTopgPCXSPQc8sfUVPoalRnj7XZmrdKvoO/ITCZCGr?= =?us-ascii?Q?UCjI76zH+Ibq29fPz2sFJYJGLD3spas6gdIK4s7kX0JvshZvYZWdvif9iKBg?= =?us-ascii?Q?HOnr6FD3RPybUDyNuFuyCUud0H0MNIs2awIcIlnM94Uyby7ys1YpYkZkanQr?= =?us-ascii?Q?d3HPLFPTLA5Uc0GaFBz9bb7zfMruU6Mg8hnihfeIkDno/FHKkY4H1WbIaKW4?= =?us-ascii?Q?Oihi5TgkM/r6xiZh4Ahd5qAImYir5B2Iay4oO96F/jEN9Lt/GQ1GVDUExTJ8?= =?us-ascii?Q?wA0jeOExMCpPA2qceIGTrD/14tWlRz77M4nqRTMrcvyyy0CAKpwZGG9VPtOC?= =?us-ascii?Q?CabRJiwxT1Uyj30hS+IsTOMTFNGgJ75AWvO+8slPjCPKv5khX4MVAjoK+xZo?= =?us-ascii?Q?oiAduqJBSbMGufBHDrDlW/zjpEYe1kwmaIdmDvbGgq0AKMAsKnKku8UpECTn?= =?us-ascii?Q?nl0+cLtzeySaanqLU5BNNB1Lw0sZZua/etFkeL2wk8mUXEe48f7qyBnXZL1n?= =?us-ascii?Q?9p9hD7y7ZNMFdzKF1RljEDuT3WzJaIGz0KeSUt9lZkht9KMAzhWZ+zC/QoQV?= =?us-ascii?Q?nhj18wHseyPkyM+tj5jOutRqOeAK1YwHtvoGnTbWuXq4Ja6E4cyf19uL5ENK?= =?us-ascii?Q?9rbpq7MDXjY3KzvZ5CFePlHtj/2rfEUWJ7fX1MY+qrtVTdKlh6Ik6jRoG3KH?= =?us-ascii?Q?rOxUTi4bXH/GvT5dY0IhT+OpqKVpB0Qzn7qHg84VPFGhfqGW+/RGgHZjxlpQ?= =?us-ascii?Q?FPX0/fm4IgSr3POMVL1CjjtK+uV67q+CVOr8oVdCOlWNpDQ8rfLme6sDx7NQ?= =?us-ascii?Q?wNQjWWMDxTfESb4gRAE6nfyWpEu7U49D2UGOLkpROw6rtuukee4hjZlbrAdS?= =?us-ascii?Q?3sCPbae6vDIkLqZZXthMkyjSPRx3FnAmr4idaAtcStNKxsP5rm4rm2QDLkmr?= =?us-ascii?Q?rdx9CqgNyuQ5AkV0vcVIEcXryLEvP+bVstCt7vCMlponAXyIp225JlSlLJAW?= =?us-ascii?Q?6mXi23EuX0q6oBykdOhFgucYsvP3kFDvyNkd+5QdDn5Z3iNtd8GJvj6aSafe?= =?us-ascii?Q?dtioK6XShf50QfVVU2w7X+eHJy9q0App2r7oRgawkOBZQRxkJfXE/DYauTqE?= =?us-ascii?Q?xO6TdQmE1c/rv40CDfaVszwKTsK3UdewPv6yrZsuHS11phWwrmWb9XPZSWS/?= =?us-ascii?Q?3ds+hsz+7va0rFcyHUfNR4wDXWidU0zrewOet794PPbrBgPfIHxs7hv4RQX3?= =?us-ascii?Q?qQ1jP+yEL0RvNbtAF3GUgCSkwjLUsMonhxAvpLZbbXpgrEqzSWEaRozTTGq/?= =?us-ascii?Q?wPgQphB+Z0h2ZFODWE3A8NI2LrwcFw6HDi+MbwFqDFQDhemhGizx8lToyluG?= =?us-ascii?Q?k6rigDo/PW8MiuaNNy6zdvBuPUJ5SGHLUX3RJfRflQ5jOcezDiol/ySIExW7?= =?us-ascii?Q?juiSlIDRcgdGzc9lE64DosNOUEUBvu1iN7zyo1Fapx0igViXC/xQidLR9n4J?= =?us-ascii?Q?XQm6JvJ0iJ+TlCHrMxyGFAaQJLeqzOVcUI2tXdQ3?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: f162f837-9ada-4f2b-8409-08dd4182cbba X-MS-Exchange-CrossTenant-AuthSource: DS0PR12MB7726.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2025 23:06:57.9814 (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: 9nCNQ6X0WHfXqhG4nqssBHabqcw9AHPag1NlpGPLm3cjkBHNkZrA14kTkXzxFWwJeqtPhyyaMNLvWgv253pQew== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7351 X-Rspamd-Queue-Id: C6F13C0013 X-Stat-Signature: zx3wdsu3bo7y81c89arj65134j99fsry X-Rspamd-Server: rspam08 X-Rspam-User: X-HE-Tag: 1738278422-248675 X-HE-Meta: U2FsdGVkX1/0IZKW6ppAJKbqNDOW2U5UlYt1maelKrKV4Y4AD0/p8437Xi6nGHQCt6UyX+14chARbxBv3Vh+7IkU0WjNLucPTdFjZ1srJz4bX70gyztsHq8YWfex2qQQu512fVU7oqktnGX5SSGeaUOh1GXaEd1ZLU5GA/EDdCgZZCKtGJOuv//Qg8CK9HoigVnFPal5+HIcmOH3Rdi+NWQXt4/3/+8amdllMWy2tto6c96HXC7o8HlzFhd3KcYtDxbqhuSid2pl0mUj11tCNd4lRcjF5qcE0+NcmBLC5SWZIBujt8ffupFnnQYpxXmXrY+HWBJ8fBil8YXkjIABqrZnaWdJF/16RLXpXGCldNMuOFzIGlvszHjvJC4KKCboulNaANjAjaiA86MIOiG7LQ79gS1H/Sdr1QEY42s5xJKzy6lE87R1rGUCY2EkMWdO8wabVpkgK0SHMoI7cZhmiMvsaDJVt+8jZUhfRnsHNaTN4hfv6hlqjS7BY6KSsGBQPzvduamm/WCICJerhYzLFtQyY3Z5pqrOiMpvQlyHIK/gAygkUXeXFX/G4yG1b4xNiAasYF3w9jjN0+0MWKuVgtx0ruDLdSNmyzn+23hxv26+tVZDBw9oHJCAGQUJnj13sGT3UlkQ2r8V50vrzwVYU8llBVT6nVDz24D0pzgzgJQ9Wb/JLnVUe3GiKNu4V6xtpYOdDSdScB+02RcLFNB+q8cY1CPAqssewKh3O9ALO7gmx8WTCzCWz59Mj2SV3Cy1uCzs+0VPdFu75puxklTr1x1FxAgx9OSnHzs3M002sq1lc+17xInWWtkZh1hWTJMIOegsuU9wJLqJIp7LS/qwZz+lq05l5hyynJyO2aJC5cwr4NYwY/kZbJJOnyRiwAeUoD6Kae6pAY6NOrecHnZU6Y/FWAfF0oqH33xAGevuhrWL5MExNuRGBGn7PbnXHl36gsbrFWnxgDVvMuKksKS SyY1K2nn 4bvOSXo130e6eOXRKiS5wlnwdIuEonSQWuqn8DRLGbAbLx48TKEp5eOl7EcEW0jqyu66S6y9R8vZsXhw4NI0Gf3+4homZtR99cjHVZtUF3EPnOb/q5pmaiP1S2q1DnKFAFU3mD0XWjhcmwx6rVylTHS4yU0zm+O2cKsf1g4adw+kmiojsKQZ1NvwxPdne1UBR+7D+NBUVuxo3UIfVZUdH90PkKwPu7DKohSino8u/9uXWGlb8CL9rxukXoEqLYaUDKeIOHzZ5tO57GRSeIw6mmpfOUHe3q9fqDkPZ/LuO5kDOjiqHVedvVbDNEF8c3NqOfoe276p/P0w2CF6mRj0AcawLh19SdmJOcYT6Mko2QAb2Z7CPg72XNmCDqWGMJpkEuzXqP7bXE6mm+HOVdSBF0W7kxvfich0UOF7dcIrxSWcHLLwQRspsO8YUHpvIW/r0lZylCJuvrWjs4cJlD2+CBpJJk+zyYfNrGOB3lc80/fQ9U2lcZe1J7qJbGLHW5VwHPtk+ X-Bogosity: Ham, tests=bogofilter, spamicity=0.003385, 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 Thu, Jan 30, 2025 at 02:03:42PM +0100, Simona Vetter wrote: > On Thu, Jan 30, 2025 at 10:58:51AM +0100, David Hildenbrand wrote: > > On 30.01.25 10:51, Simona Vetter wrote: > > > On Wed, Jan 29, 2025 at 12:54:03PM +0100, David Hildenbrand wrote: > > > > Let's do it just like mprotect write-upgrade or during NUMA-hinting > > > > faults on PROT_NONE PTEs: detect if the PTE can be writable by using > > > > can_change_pte_writable(). > > > > > > > > Set the PTE only dirty if the folio is dirty: we might not > > > > necessarily have a write access, and setting the PTE writable doesn't > > > > require setting the PTE dirty. > > > > > > Not sure whether there's much difference in practice, since a device > > > exclusive access means a write, so the folio better be dirty (unless we > > > aborted halfway through). But then I couldn't find the code in nouveau to > > > do that, so now I'm confused. > > > > That confused me as well. Requiring the PTE to be writable does not imply > > that it is dirty. > > > > So something must either set the PTE or the folio dirty. > > Yeah I'm not finding that something. > > > ( In practice, most anonymous folios are dirty most of the time ... ) > > And yup that's why I think it hasn't blown up yet. > > > If we assume that "device-exclusive entries" are always dirty, then it > > doesn't make sense to set the folio dirty when creating device-exclusive > > entries. We'd always have to set the PTE dirty when restoring the exclusive > > pte. > > I do agree with your change, I think it's correct to put this > responsibility onto drivers. It's just that nouveau seems to not be > entirely correct. Yeah, agree it should be a driver responsibility but also can't see how nouveau is correct there either. I might see if I can get it to blow up... > And thinking about this I have vague memories that I've discussed the case > of the missing folio_set_dirty in noveau hmm code before, maybe with > Alistair. But quick search in archives didn't turn up anything. I have vague recollections of that, but I could be confusing it with some of the migrate_vma_*() issues we had dropping dirty bits (see https://lkml.kernel.org/r/dd48e4882ce859c295c1a77612f66d198b0403f9.1662078528.git-series.apopple@nvidia.com) > -Sima > -- > Simona Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch