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 5F817EB64DD for ; Wed, 19 Jul 2023 00:24:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6E31A8D002E; Tue, 18 Jul 2023 20:24:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 693968D0012; Tue, 18 Jul 2023 20:24:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 50C9E8D002E; Tue, 18 Jul 2023 20:24:46 -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 3ECF38D0012 for ; Tue, 18 Jul 2023 20:24:46 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id D525E1404D4 for ; Wed, 19 Jul 2023 00:24:45 +0000 (UTC) X-FDA: 81026465730.18.F1FDC4E Received: from NAM02-BN1-obe.outbound.protection.outlook.com (mail-bn1nam02on2060.outbound.protection.outlook.com [40.107.212.60]) by imf20.hostedemail.com (Postfix) with ESMTP id E02E81C0022 for ; Wed, 19 Jul 2023 00:24:42 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=TEaYk4Ex; spf=pass (imf20.hostedemail.com: domain of jgg@nvidia.com designates 40.107.212.60 as permitted sender) smtp.mailfrom=jgg@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=reject) header.from=nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1689726283; 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=SklQmk3TV+INSEzR43+Em8I5plb0lSw6pPGM+N4nvbI=; b=DiQ7vJu7KZDMSW5EjwNsQM/8y5ww0AYSA4miLZOhyEJPwXYrngWyuYaMl816HjIOcHmcpW Hvsss8jBoA/cCs7TdBd2FwqcN6g6UmWo5Ne17qoD7zT8XXJxticGmaYAmDf5Fvu7n6wxAJ VhWZ3i6PTVSm/dO3wDKMlh6urHbRCVg= ARC-Authentication-Results: i=2; imf20.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=TEaYk4Ex; spf=pass (imf20.hostedemail.com: domain of jgg@nvidia.com designates 40.107.212.60 as permitted sender) smtp.mailfrom=jgg@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=reject) header.from=nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1689726283; a=rsa-sha256; cv=pass; b=RZ3FBgBoeQLb79X1M9FNccUOUA/La58+sAnnrFOT9Zak+zv46jMTfK214hE2q3S/TgYnVU fHh5qglZ9EiHp6F1jX68FnvsAeVVDJQLJ8GSdhkNpV87lRdynk/4mzgj9pLwiv3cjYx9hm 8FGeorVXYiDClO3/qgHVoU3gN8eZ37M= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FhMY6YQ7fqWjqbNu+KRD+aCDYRRSD0C6zFUPt0TUcfK1NO1Z25XHKqK2PMOGXVL9Vd0FTzm/zShnBAVb/veKUQ3+0URAks7vXJBj//FHYkt1jst2Fpqn4B5gIvsOvHAJv/Dsmuxc9Y23XAHrl4XtlB6IRDGyRGaKOOMt5rrPdtLoKudxJ9viWuly72pELahTU6a7b9dXa/WpL/Nqa2eLdYSltRy3unEl5twRjoOyHfRzuz24WREK/lNRo5LqsObHpmV3dELBOxNI4D2kSdmlVWyx7IbXEIIDPY2FtlnzndFPtiVfQTP1dY+swedb8xIRbQhMjxPm6B+uYtRVw+uCgw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=SklQmk3TV+INSEzR43+Em8I5plb0lSw6pPGM+N4nvbI=; b=UbIWFEwlde/5gkdN3aIpLkNuONxvLxjsEg/c9BRAeOtGnj5h4T1Rx/thAaq3UP4ccykDxaTHYAQRT8pdcG6RmhB7QEgboDHrxsef/NpwV4r0N3PSFKjsPj/OJS9Du19neo1B0Fkpw4IwGsXM57YuV4yqN2M/JwJhFfOucRoEzrNwbmA622NJHMxwQjR8ScirAfk/AM5Ssu3hscls8OFIR98WOE0VZ9LbKDb7ujaAryjIBMSPMqkJbFSaa9fzBgBbcqxEC+kc0uYvEnRuy9aS+p3ryCMcLm6doxI3RJEpOaXAIBjxQI6KxaikeCLdhMHk9DgXxGspwJXMRDTm6bbnSQ== 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=SklQmk3TV+INSEzR43+Em8I5plb0lSw6pPGM+N4nvbI=; b=TEaYk4ExMhANqT7VvFgoqvyjlAF+Q016bJtU527jfH/4sfXWtcTzI7PL8sUgjHJzfo1h3MuFXXKdragheHcnO12oLugz158ctVtzSbzPOda48l/pJ2oMvmHYxd4vHE1xxOBjUO9AORujE/F7rNaHssCW7rTrG6cdStMDnfO8O5q1VnwSpPMDun1lf12JXldt3Dss/hxfRi17H1Pye5mDlZwGXyUyGdXa4nw5LhGaDvuL9tpVLTFlxEoMK7LD55yOsbB7hpLJu1u9XeppTkEoKDn00Uq/2yODGrT02TCGve4AdiBmRikO+RrEkzOtMnkI+QETH41fMXqnGwr3LYM5VQ== Received: from LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) by PH7PR12MB7377.namprd12.prod.outlook.com (2603:10b6:510:20c::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6588.31; Wed, 19 Jul 2023 00:24:39 +0000 Received: from LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::5111:16e8:5afe:1da1]) by LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::5111:16e8:5afe:1da1%6]) with mapi id 15.20.6588.031; Wed, 19 Jul 2023 00:24:39 +0000 Date: Tue, 18 Jul 2023 21:24:36 -0300 From: Jason Gunthorpe To: "Kasireddy, Vivek" Cc: "dri-devel@lists.freedesktop.org" , "linux-mm@kvack.org" , David Hildenbrand , Mike Kravetz , Hugh Dickins , Peter Xu , Gerd Hoffmann , "Kim, Dongwon" , "Chang, Junxiao" Subject: Re: [RFC v1 1/3] mm/mmu_notifier: Add a new notifier for mapping updates (new pages) Message-ID: References: <20230718082858.1570809-1-vivek.kasireddy@intel.com> <20230718082858.1570809-2-vivek.kasireddy@intel.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: BYAPR06CA0006.namprd06.prod.outlook.com (2603:10b6:a03:d4::19) To LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV2PR12MB5869:EE_|PH7PR12MB7377:EE_ X-MS-Office365-Filtering-Correlation-Id: d78975e9-efae-4b79-76cd-08db87ee89e3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ygWAG90uZ6EqGfy3jG59zYlXjSol6t9h3edzy6gQ0YyS8OSWV7Nl1suJKHim/vp2Pgqj/SOID9ttwP5WqCl8zPxdywm7pbBkgBuoBipHiIzGIGxNMGJeKmStu81MrF+PXQkaxy3evaAI5O/amaqOKzHeUKDfCk0LDOFoC6a1+T9nn/9KpXxtJzw0kC8HC9Y9Mkw/VZ86aA0/kexi3y0eUys3ypD520iSjseZuRZ3p18UKq912Qp56OwOcZkKZlpvjTmphb0WQIS7Wj7NF70AJB/ET/+ixnalabVnkZmIvtYDWhjd5xPzl8Ma4wN9G56DT3VaYnEIbTnBs2wLaFHk8z1bCPYkkro+jfzZH9EmecGEMRrq9p11OV1LnPaoh5XN3Dvj2BjzGOvuMDSOwTPxaiDECe4c6sjDo4x4pHWE+QpQVVLzA+CjnAqc7LgsMz2vjN3x1f/CVYj33aMFmfWCS+dIngYXw9e/ngkIih+DQRZtuJG4y756lo2Xb6qfyepUhsdER/5VjqDWiwdkLEAWPat6uIQ6TmckZnen5xv2N42hoaz0kX31clXZHlcOAkk3 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV2PR12MB5869.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(136003)(366004)(346002)(376002)(396003)(39860400002)(451199021)(478600001)(6486002)(6666004)(54906003)(6506007)(26005)(15650500001)(6512007)(2906002)(38100700002)(41300700001)(6916009)(4326008)(5660300002)(7416002)(8936002)(8676002)(316002)(66946007)(66476007)(66556008)(86362001)(36756003)(2616005)(83380400001)(186003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?cVHlJ4XwPf064oF/00KSEcLpDR7UJd5vBl03+pbgz8q0RA11g4Suu2Eai/JK?= =?us-ascii?Q?JYfgN/RzW+fyRtoHqH6vScCGpkKfMhDBiDE4INP01065mI74WpKuc5riPclg?= =?us-ascii?Q?Sk0UQllw5TmOt7NMoS0PIzNAsHYJLRK15vMB7+DuAhGM9Pvi8BFfYMYIxNQU?= =?us-ascii?Q?eNa5MAyz+7+KIN46g8Y6GqB6D2BYnDKx4P073eBnHS13C0UDYgxbdh6tqM+W?= =?us-ascii?Q?FRXhhg3eEHbZDn08lcyQS/8yF0TzDgImo8JYuoS/0i8OSBATEQMhs9Qakd5t?= =?us-ascii?Q?NumVLTqOAFR1gqOcCN3sItLuEELJxjJVl58pa0vTDNkOjqDpxuw0vNtRwxM7?= =?us-ascii?Q?fQ0zhGCMEF/xFAC9TckEI6g4VJPqhF1PTWhiPxUb3yuENAdmqrnVEeXxw4Qz?= =?us-ascii?Q?aw8RyKRRXmD08RCx/6Brw/ifj7FOg8NGDFXllaC3XrEv5cAAr47qVdKLQNVi?= =?us-ascii?Q?NwMJNhHiTmyx1mXcWyR9fXT15QDlL0MWkDvY1JrkPy9R5wtpjCmpSyAr/dOa?= =?us-ascii?Q?KeIaluala+lzqZzaDzK5yQdVml8qjuYfI3nwCkcdsTjKJ5MVPbOP2z3vr8jJ?= =?us-ascii?Q?Qazb/twn3HbjabGkycW8xCBCc5Gxdka1CVl1tUDeWc4YC0pagNSDx/OBwacw?= =?us-ascii?Q?L57X4bveznbxcaOR4OoUUia7mw9F7MVz0zge8HtTrSXp+K7XVkGp5BHp1G94?= =?us-ascii?Q?lKBH/PeCcHdW/cKO33+ip1hkriqWJT4S/E3EOJk8nhk17uwoqgTGkv6fD63E?= =?us-ascii?Q?ZpF3byV8e1oSxF4Oks8Ob8YFyLguY8fWR9ErrrvFQ4i1UcuPztlPchJMbbzq?= =?us-ascii?Q?7qMmNsl/y8Y0yxN4YcXSFDrehtAgNGG8zue0DdTa8Ggjw642C54C9R+9j/G4?= =?us-ascii?Q?HRa7+fMDxaSoupB0oCi+sylMoRDMVjX8t/2zbRi5xEqt5kDtuBdt+9XPrvwa?= =?us-ascii?Q?f48WZ3qwkFTw9qMdP7HBeDb+neiuvhQVeCFZ3wrlSvdT3Ktzz3GsM1dP2NKK?= =?us-ascii?Q?A8wzqm3ZA521cLhwqlyp0biuLracjplnlw/uYrmWEVspUtKoMyp61vRGNgxK?= =?us-ascii?Q?sGDRmOXy9B/KxIQJx2ebeRQt5/V4WIv9fByEEOC///l4YTE5/IQejxa+PMax?= =?us-ascii?Q?96FRYDc3AWeEzouePV7EpgvfLWp5T6Q+5HHbeEMny17FSQ0D4Jsba1fALMt9?= =?us-ascii?Q?dvK/r5nOT2ISW6udjs3r4ZPaNqQwJvEFUNh1N90RjvDlaaFpk3+F7W8E69Yo?= =?us-ascii?Q?0Mt0La7JMq3kLlzkNgomppcNeDYRqhVIiXLsVWWaeK2NM8vLVJHqYlskELFf?= =?us-ascii?Q?rh2V1uasZAKdz2zZOJBhSxeIxoNGHedmjGJ9OG7ATCa/IV5A2yCcIpBsNKqa?= =?us-ascii?Q?pkq9NIY8qx8QAVc51DJC+pDYFLthDLNV9zfEr6IIc4mQJg7tfqGiZ28sikYs?= =?us-ascii?Q?I5mjtkztZrAylTTSHSIh0JWN240Ga/S02KqF0wNrh9h97/UoLGRKUepLpsNq?= =?us-ascii?Q?wtkrO0pyj55pL2AA88EfIk+mlu5hrJqsXdGuPpgi2DO1kHxmxI5TC0TC1z4/?= =?us-ascii?Q?s8Mbwnd1hWOPFDmWQwFSsCeYdXlNHhv5ruLfkCT9?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: d78975e9-efae-4b79-76cd-08db87ee89e3 X-MS-Exchange-CrossTenant-AuthSource: LV2PR12MB5869.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jul 2023 00:24:39.0186 (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: U+ayR91a9Q1aSDu0AF4WWBUMGernZbGcm9erHsqWHO9maTG5FuJ/7r43lH6xjmcH X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7377 X-Rspamd-Queue-Id: E02E81C0022 X-Rspam-User: X-Stat-Signature: q5xh3363twf6x8yenzyft4uibufpqw9h X-Rspamd-Server: rspam01 X-HE-Tag: 1689726282-515923 X-HE-Meta: U2FsdGVkX18JPd2/lbsrS1bh54Wp8zNC9UtTCfsvH6Dz2ZP3cBN5FVtrlzUuHARRH8g+Q3G4Epq/4+Sp6m8j+Xha5vytKW5abx9f0XV1eMRKaW0XH+ms8V97Smne8QmMzKz7GUUVvuYBDeOO/0CDA2zh6qlyiz418fUO5YO59xgmp2AHUEG/O1tfZ0BaTiaDJonUnsDXV301FSvNT2DNa5Yq9qjrP+OKlD/a7jc6iknWqWNPlEfVqLUhHMN1oP5jfI+NITky+3RAmfF/Ew0qPbHkVA1oBpXY59wkhL0j0AEN7isuLyC6H78GmF97TMaaYuSW4/ZENXnVJmbmQqtPwsGHg/XChAWeplNpRHh8wYdWU5Gb0Z/6ToVED45HxaCWCqVM5iHffTc3fJ4aZui9Y2GGb+7zW5jg8dOCqXhyezW07AO06AFJNbU5M5B0hxf1WqiP/Jvir3QCdkl2WNlYkfxY4nrH9BSO7vXbE/ohaKQlNAmjFioK7N8Rb1kaK/fcRoqA3/o/rt3U/E79/D6JPthrmxXo0JPM5ZpZvj1UzJq7qCB+TAjofPhTMaUAINaYO7Mkz88pccIQAjZX0jeFJqr5crLtt6CX4dYk7T50L+Xx3ciUvzNnN7MPPP5toEonABXlr1je+bpvJWuw+jJpnvYBUHL+XuMhd9TLX++iTYNyLEcwYtMw3NhmxSCyz+1aXHu5keqUhM1Ab/5SyFEz90sLhz+T6RptngAyzkHeSxZMmi1UsTkY+NaWrkYoAOLBfNtOmq9uW/sJ8YoRRDoNSAzMfTcuUgsCdSakEVy/SmZ4otEWc7ILztBBrHlpXn3RSvV6HMO8ukqDwZoqFO8cXArIKljb7fKnGcI8zEtu/votvxZE/bbmvdUoFRXIjRXQaObeyyqXny8y7BVU2Rlfp1cuqNusOG9f4v7msSec3ETU/MFdMhsi7npFAU9F0WMm9XpRgSrrbyhyFeECzC0 Q+9HCBHX ntJmJ8aUdrGgvY/mMjAfIj9bZdu9yosFcPUxXHfHYjR7L2IkrZhIihqL7tALpDN0qUr1HABVQ6Hij3p9mEmlpX6uFLnEEoc/Ll9n+myfeap71KmAiFxNqYhtuWkEN294MDei/y5gTDJSzp7lym5uFXV/OU2KnkDbX+fecVssv3bHu+y+ZLXhl327FsHeABIZS1+XQUz29wiafB7X1gD7Y599CtrLW2TkX+rVxqSg1++QKqIFGqLv5NIEV8jQC0zmoHngdGifPVgygATsilqOWug18gA8UUIrOncZBMSZ2FWmE2+g= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000002, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Wed, Jul 19, 2023 at 12:05:29AM +0000, Kasireddy, Vivek wrote: > > If there is no change to the PTEs then it is hard to see why this > > would be part of a mmu_notifier. > IIUC, the PTEs do get changed but only when a new page is faulted in. > For shmem, it looks like the PTEs are updated in handle_pte_fault() > after shmem_fault() gets called and for hugetlbfs, this seems to > happen in hugetlb_fault(). That sounds about right > Instead of introducing a new notifier, I did think about reusing > (or overloading) .change_pte() but I did not fully understand the impact > it would have on KVM, the only user of .change_pte(). Yes, change_pte will be called, I think, but under various locks. Why would you need to change it? What you are doing here doesn't make any sense within the design of mmu_notifiers, eg: > @ -2164,8 +2165,12 @@ static vm_fault_t shmem_fault(struct vm_fault *vmf) > gfp, vma, vmf, &ret); > if (err) > return vmf_error(err); > - if (folio) > + if (folio) { > vmf->page = folio_file_page(folio, vmf->pgoff); > + if (ret == VM_FAULT_LOCKED) > + mmu_notifier_update_mapping(vma->vm_mm, vmf->address, > + page_to_pfn(vmf->page)); > + } > return ret; Hasn't even updated the PTEs yet, but it is invoking a callback?? Jason