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 99867C0015E for ; Tue, 1 Aug 2023 12:23:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1C91894000A; Tue, 1 Aug 2023 08:23:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 179BA8E0002; Tue, 1 Aug 2023 08:23:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0198594000A; Tue, 1 Aug 2023 08:23:24 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id E5A1D8E0002 for ; Tue, 1 Aug 2023 08:23:24 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id B18AA1204E5 for ; Tue, 1 Aug 2023 12:23:24 +0000 (UTC) X-FDA: 81075451128.15.F2564D1 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2051.outbound.protection.outlook.com [40.107.94.51]) by imf09.hostedemail.com (Postfix) with ESMTP id 686BC140009 for ; Tue, 1 Aug 2023 12:23:21 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=FuLm0RS9; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf09.hostedemail.com: domain of jgg@nvidia.com designates 40.107.94.51 as permitted sender) smtp.mailfrom=jgg@nvidia.com; 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=1690892601; 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=W77SxE04VKgJ13bZKR4aVBzbc1fRhXyLkFDXtF/nt+g=; b=z5smCZgIf0QHjy3QEVVTziv/9I0nk+86vZ3hFCSHcZHJ1M9luqPy9vWnkTpPjAWTvWEanx 2a0jN40BUc0oCnuQ2C4m393IsV0BtoG0oOgcp1k75QJDZXrHNTxsolRKdJYE30wr41PjhW pjpdKKrt+YSFq7I+uqPlVQenWbV5R0g= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1690892601; a=rsa-sha256; cv=pass; b=i0hokgY65osfU6fOBSRNJ6ctHuIjZ1D+D9Ryy3IJj19ztF5rnuaeoOlk5R9Fd7z/j5M0yO ajZafnDr97nSxkO0Gtavek2zNbE2hZ3HKdEYa9PPO0939l8WTLofjRgxOjc9dXefai7LF1 k/EgXFuCHNeXlyESzIREIbX5nuNb/r0= ARC-Authentication-Results: i=2; imf09.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=FuLm0RS9; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf09.hostedemail.com: domain of jgg@nvidia.com designates 40.107.94.51 as permitted sender) smtp.mailfrom=jgg@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kovUfMKAqBwuxEJbU6IouN8jYp5BnAWWhmHQc4iSTOVYm2xokYt+K8NXrs3WFMYwm2DVHqyP5oYtrRK4SrFuj/yr/CJMNcaixaD3A6uscPR0cCEKDy9Ivh7qqdXm10e/mG6AOFnFJ8v8IL6rRhMyPalRcHo0DY6XNlk6sMbWpw0FqdNnHGya+5sPecLvqeoJzA135MYCwbdwMy8b9N+72uSy000YASAa4SC8UhBgupTkY6/afXiDLVaTbvsV2KMAgahFtkYoj5fFPLm5SlkfxbtEIfs0Gx2iqGfClzT8Wo5+ElWQ4/jkuQQJ7Ygsn7RI0AXmGmSjZZGYGb6oImkX2w== 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=W77SxE04VKgJ13bZKR4aVBzbc1fRhXyLkFDXtF/nt+g=; b=aZRrC/KfvO2+s1EO0vcpUEDfUlLRc/u38joTNPgsHb6cOME2lbfLEkfDOJDzgYv5QzxKvobubXteF88ET9tm3yrXMAfFcJpv+N0kYWa1tFI5CBD0GQaSJAVtxUEY4UlJcNYiEf5v+5Gu126Q+Fs0/GwkNFg4CcZiz00zKFT1d4QlOQ/+xgrro6YuzWIOcl1S5ZZLKCcAGgz94gFZc0PfCUtZXG/xiPB7HtDNnAm7Bqzyt8jLo7lP7sGrBvgijS9I+RrrY9MisZglyXGJ35Lx4dUYmCFQpnKCFCEClPPkn98R4oTtn0wy2Xegn7J4I4xPGVOk+Wq9vpnLCBFPdc0/WA== 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=W77SxE04VKgJ13bZKR4aVBzbc1fRhXyLkFDXtF/nt+g=; b=FuLm0RS9bSlnUUo58pKrBfR4x31PxZK6IPWHQqjYomyRY2I0+hsTA9d5Q25khWUAIGeI+TsqNWbc8W4moYTxYT5WYELMoDapBh8Qg+gxLjuxtJOQO4AAj3q3MaGSn5Ft6x2AY4gkjAnze5p+6VnLeHxYbv9T1SrkdxO3efrr8zFPDU+Fk1nDEquZ0OZIzXzLXshJ3cuc+dy3sFOx8OVyKZLuO0XTOy1k5pytCrAuMIgrjZcLMZJ6y2dFK7O0UIvFpsYGMFOK85oHK5q/raEvg8MJzmtL29zdQoGqfA8cwOBsE/627o+S0qEuaP4TDsHfwl+QwEM57V1c+W3yGkDqJA== Received: from LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) by BY5PR12MB4212.namprd12.prod.outlook.com (2603:10b6:a03:202::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.44; Tue, 1 Aug 2023 12:23:16 +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.6631.043; Tue, 1 Aug 2023 12:23:16 +0000 Date: Tue, 1 Aug 2023 09:23:14 -0300 From: Jason Gunthorpe To: David Hildenbrand Cc: "Kasireddy, Vivek" , "Kim, Dongwon" , "Chang, Junxiao" , "dri-devel@lists.freedesktop.org" , Alistair Popple , Hugh Dickins , Peter Xu , "linux-mm@kvack.org" , Gerd Hoffmann , Mike Kravetz Subject: Re: [RFC v1 1/3] mm/mmu_notifier: Add a new notifier for mapping updates (new pages) Message-ID: References: Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: BYAPR05CA0081.namprd05.prod.outlook.com (2603:10b6:a03:e0::22) To LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV2PR12MB5869:EE_|BY5PR12MB4212:EE_ X-MS-Office365-Filtering-Correlation-Id: 2051577a-ec0c-4f12-fd8e-08db928a1559 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3nztHz+6YoaoQqCi6alXSr6mnkGa5C9Ss1EDAfAf7/baZ1HN7CpMkxUnhYMxWjB1/tsJIEHSQtkwtodN6hXRD9DhEuZz1rrFT85qI265dbhB/JEXpCIOqDtn+vpEuv9A5uO/sSytT834LksBUncS1i3+ZiK4CidbubCZdrnnZ6pNuHefTfqG/aoJql9S19AOsEa59jH95br2w0ja6RYbFU/83Ejexhq5XJNZ3tiI7eg2DbLet4ktQPaERe3LLPJmOMTW6ZxSIUwUCyedu8fL5tLFNSAwjSV0pqYneT88hxN9bNW3+YRlHqHbbXdOzu0RjvEuefG47WRysmfjT5WDejWoEXVvH5DamTuhrj5CR6tXgHWgOqk+adgos1RcKAruMT2uZ24TeA/PNzUL7lJaAsh7PVnTrAejQESELbu/V6j500qjpmnzSJ5+m06WxcVj5LDlY/LlYd13/kiAbIAo+KbL+Eys4lt3Ln/Pc3nUwvuwjQHtC04JW3zUFspxoIGD0uBVslxNp4yYrczQksrS8HhOeb2vUU73H1bErUc+uL4VMPO1z/0MstsjaP/cl1HZ 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)(366004)(376002)(346002)(39860400002)(396003)(136003)(451199021)(7416002)(38100700002)(6506007)(5660300002)(53546011)(4326008)(6916009)(66946007)(66556008)(66476007)(54906003)(6512007)(478600001)(2906002)(2616005)(8936002)(8676002)(6486002)(41300700001)(36756003)(186003)(316002)(86362001)(26005)(83380400001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ne+7xKLuAMT3oAGuS7gRu3yYBOgiMlWYU26D747r2CT03adOcKlOs6rCroPk?= =?us-ascii?Q?C/FP74Ebm+rz0VWL/JRExdvU9Odka68iF0suQw+2jtyAE15I1aEaTYWoJ+Ea?= =?us-ascii?Q?F/TTJLtHCxtkQ/mP4GBGJ6cCDdHCPouLmYXAXQuMbmqVnCvQyLHUkSIZ2/2a?= =?us-ascii?Q?G5PSL90IISV0QlOLDuRYGv+mfpdWlKBrDvhUzu8tYrJKfujPaMPbvMO307Yn?= =?us-ascii?Q?6G9EAu7Ki5HtZdSsXSRwmHTuPOcm/JAPBrr+/H4zU+GQWZX51EOrDJWiMrUo?= =?us-ascii?Q?z/mK4IxDgKyubPNiZyG+/wPs+iCbFeIZg+BZKw+Ooz51L6V2SzDBiimyjfxS?= =?us-ascii?Q?ef2YbLwStY9UVv0+x6DORcqY8gc2x2T408VlIyxynLw+mpZ/DR1YmXk2miw6?= =?us-ascii?Q?Ef3jRwoo2gWfmmEF0dqOcwNMiwgrWwxi54TvSleVgbp+3IYBtdUpS5bTRR9M?= =?us-ascii?Q?rjYej1x+X0fNsiJZ8Z5PKyWiZkvYa4M3wNVEQ3oLD+/n+3aFkkvhwhcgHGN3?= =?us-ascii?Q?iL4+DxgaMZyFBCOoNudWWTJBRazyaxV90fHCMQhP6bORPPfaU6rv/lbapDUY?= =?us-ascii?Q?5PkbMmJC4+fr8QYav+5EIYAdikxyc+7v+4yUHEsFbsqsK3UwJomYKdB4JSu7?= =?us-ascii?Q?63Oqc9b/RA8gDfjusbgbRqeIwKIpsyU8HQNbYZXDYZMe9CEhGdBpcpkcXjCT?= =?us-ascii?Q?BWgmyxPbxP/NF9LGYDCRiLXTnVwqglSANM6DKc+qjYKs1q+dHFcxWiIwX7/2?= =?us-ascii?Q?TmBX6lAefvQOHXHBnMI/DscVj5RRZoif6NiVjpVUoP2bo+hniA6UM0AspIlU?= =?us-ascii?Q?Jz91oL0Xu6kqIsYJI6S4DUA7VaN6uRs50JTB9TKpqVOb94SwHmqSPj/WeFt4?= =?us-ascii?Q?+5UfnfxmrHzHjlc6NFn/tUdRAxJMBGwYhBnEgq3jnMoiAO59x8LXn355y91j?= =?us-ascii?Q?i0qhHRcogVtLTsEhCLPUhS5+ThHUsW30Act/my0F/g+cNF0g9PBJ+neQ4wIw?= =?us-ascii?Q?s9Zbcp5ckwWJxH1VeZnT1AH+XYCp0huvQbENwdeBtqn5oFovjcgBnQmnYnN7?= =?us-ascii?Q?gbOpq/m2KLtHFPZgJrInrS9giEJtAZUkthmQhnrCbkvE3KIVto/6kSEfnR3e?= =?us-ascii?Q?zP7Ztkb1pAhIMPgpgX47SHyDchNDkdZeVNEI2cemcOm5YZK8PO/qwPJyLd+j?= =?us-ascii?Q?IVgELy9DBIi5nJP3XDOeHGUxzGyYEQDUxbi9+6ZCFJ/aCsVGBOpBE8XLsaZY?= =?us-ascii?Q?hWezEcTVX/X5VlHW7VEU64pcTfgjhFscbvClgHBo0brgGLVrQzw3Pi1SUTix?= =?us-ascii?Q?MXf4+AZ145sxAyu+g3Kt6uv1uviwEuj8STJt9ictal1cj+3ak0TxF/BEtZoV?= =?us-ascii?Q?Ae/8tMNTl+4jw4p0gjvMn4dxBvHGrqIbgdM0SI8JkLj31+XJqK0zmEGZWucx?= =?us-ascii?Q?Vv72fR83w7Dh7P1SG2vL0ncSYf7/WFTY3XlDMb2HJd8rmyib/CcTeNryM+Hj?= =?us-ascii?Q?0Ye1VJ+Ahf3mPvBT1ed5XkcSi6NLBIQgYHWQPDJDa6+vWfOMqUdlrdm3rGBm?= =?us-ascii?Q?5zUpITqPey/H5nzzs2wFBfaqCSnGPo5PaqqT7MSq?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2051577a-ec0c-4f12-fd8e-08db928a1559 X-MS-Exchange-CrossTenant-AuthSource: LV2PR12MB5869.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2023 12:23:16.5621 (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: 2rCPVEudh8ZUwWzDlV2N49a9DkoJCa791uKhJPj5+ueHblZRZa/RI25HUTYgI7D5 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4212 X-Stat-Signature: xhru9gocn3b76mo5t9u3k9t36n5dgik5 X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 686BC140009 X-Rspam-User: X-HE-Tag: 1690892601-860970 X-HE-Meta: U2FsdGVkX19utaTwkUetHB9ijpkh1zB6LsTXvxRwzUQeVPLgwv++VFXOlt4USHOBKv01LTsFxizjYWadAxsTzXO+I0EE2wX7CxPnN8gC9S3XOESgsDq9OU0DGqcaEudPYpCaxNC6YVghem71iea6T6SPxgBYnsZMsyDrE0D+buD1T/lexLqhREyZ4F2Alu9QDM2DPjIwlLs/ox+NP260zjFsDowEkLfaXHdwPynUr7dNqvAJdlgQ5vxtyJ5L1PYBWbmgSVDpb5INEgM4HP9MwKhocaGQ33X7TWOH2IeRb8vYZqj84S7erv2lK9/K4eDwJ5paBmlbePhiI/gH4dtvtktvSKzvO8fhdFPAnPshlmAi5EVyF1NST/ZvzkgnDhM4Tl+YACKaxYBas9VYfemN04pA3Xo057mdRraqQV9k41pGPHujnR/LGovEm/8KJ77Bw6GgiBLMMLqSja3OnHWU2wd7Gx2Y4LsgwSBPXzYKs/MbGNnZdOgt0pk/T13nSSncnGm92IQseWlf6/XHsqt13Irg008rJ8/+iIq9Zqd2SU7I8zMOHW6TdonEdbh2Z2oOtLPenCxDBiC+4NprNqvCy1fX0sXJQtlzlWj7sG9a02O6hA0pHcIBFNtCXtpRcCseL3CWx1HBpKL3PIe0FASuMwfoKprmzOIsjPnUpEVh7HfMEItuXcWWDb3zexPW18MibYOKR9lVjMRS4fKi13fVa3C7wbr1zBZOn9m+NaRSWZRSMB8dIIidPSKGOqJKg+rYLUWYo7H81OEuihYr6Y+CI7X5TO/ckvi2Jvykylw/jRyTRe+6UIzAkrCcEFD4eUA9ycYlr4oTjjd5rNMrs01ZXImV36/YKqbZ8x/Fqf4DrzlrBO2qjOO61W9OLl2vDbR/MyPIDnmcRp3zj2gjfoHwWpBaI/VmrGQN3cuIGuJKn71OXj4/rtdetM3yN6srlg8AkpHOVBd2Qr3OUjForK4 2waoHfzM DaF/O1clgtoCHZk0NShFsIoz7mNvjdywhS+GOP1/uYTCzf6ufHH1TWCo6Ot/I6ZjVevyQi3YMxphjQILWvtZ2Vtlf++Bwn2QxDG9AOgZKiYOKNxirP58V9iB8Ku0niSWhSdQTbuQG1npicLwkUBtluNWuCUWauzktW5riAjBol52vsRXw1lV2JFGjGABVPQvuI0UuU6jl+Dd/icVrCfNCxm2AcCDfvXNoaLPMh6G+d/d8Q9zzS/TF1fGLmfuvTGCzRKMiehyAIJew8I1UtEjixu3DmFMau+UDzcSAQe8sclPS/PCqH46ut6TXIDZKApS0c2qN 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: On Tue, Aug 01, 2023 at 02:22:12PM +0200, David Hildenbrand wrote: > On 01.08.23 14:19, Jason Gunthorpe wrote: > > On Tue, Aug 01, 2023 at 05:32:38AM +0000, Kasireddy, Vivek wrote: > > > > > > You get another invalidate because the memfd removes the zero pages > > > > that hmm_range_fault installed in the PTEs before replacing them with > > > > actual writable pages. Then you do the move, and another > > > > hmm_range_fault, and basically the whole thing over again. Except this > > > > time instead of returning zero pages it returns actual writable > > > > page. > > > > > Ok, when I tested earlier (by registering an invalidate callback) but without > > > hmm_range_fault(), I did not find this additional invalidate getting triggered. > > > Let me try with hmm_range_fault() and see if everything works as expected. > > > Thank you for your help. > > > > If you do not get an invalidate then there is a pretty serious bug in > > the mm that needs fixing. > > > > Anything hmm_range_fault() returns must be invalidated if the > > underying CPU mapping changes for any reasons. Since hmm_range_fault() > > will populate zero pages when reading from a hole in a memfd, it must > > also get an invalidation when the zero pages are changed into writable > > pages. > > Can you point me at the code that returns that (shared) zero page? It calls handle_mm_fault() - shouldn't that do it? Same as if the CPU read faulted the page? Jason