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 92084C001E0 for ; Thu, 27 Jul 2023 07:34:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9F1796B0072; Thu, 27 Jul 2023 03:34:42 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 979C36B0074; Thu, 27 Jul 2023 03:34:42 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7A5F68D0001; Thu, 27 Jul 2023 03:34:42 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 656B66B0072 for ; Thu, 27 Jul 2023 03:34:42 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 1CE0A410CC for ; Thu, 27 Jul 2023 07:34:42 +0000 (UTC) X-FDA: 81056579604.29.D6E475F Received: from mgamail.intel.com (unknown [192.55.52.115]) by imf12.hostedemail.com (Postfix) with ESMTP id 6561140017 for ; Thu, 27 Jul 2023 07:34:36 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=KpcFvaRF; dmarc=pass (policy=none) header.from=intel.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf12.hostedemail.com: domain of vivek.kasireddy@intel.com designates 192.55.52.115 as permitted sender) smtp.mailfrom=vivek.kasireddy@intel.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1690443278; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=CJCdtNU7UZqbdsPs0hQiV/kQ4ICJZsdI+lyYqVFDMtU=; b=VMhCYJml4CZn6wWwfWN5vKI8xKSuL9P986EUYJsV/QeuOe7WNmf3YvLEIxHUB0w1nFHOxt fdsglzGczT5QwEhjKRpxXxt7SKGQM2Ol3mv/u8PrjMpPupo/tCX4yQzw6buAENaOcP2kcS S8Kpr/PltjC8K5T65QpY45lZkTCIurM= ARC-Authentication-Results: i=2; imf12.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=KpcFvaRF; dmarc=pass (policy=none) header.from=intel.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf12.hostedemail.com: domain of vivek.kasireddy@intel.com designates 192.55.52.115 as permitted sender) smtp.mailfrom=vivek.kasireddy@intel.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1690443278; a=rsa-sha256; cv=pass; b=j5njPOriloxMR27cPd/4/NNqm3yj4b6X4biUhqAzW/RL4yHg6hAhehp7TKb6uJW19b1phI NuouKGhELV9fB+vqfl8liJBFDsSGogHyv+/7mOOobxntYaxIDfv+LPgPQKZ3x+ogwuuBMh zikvhNILlL3AcI/zS6Z2811Ob0ozy1k= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1690443277; x=1721979277; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Ig7AKjTcNeXvQlc1lZ9u1Y+hEGl/SHGY9kXaswR6q/I=; b=KpcFvaRFloJuXKkFGQ0HSVyjD+nczZ3QQyM/pbJh96aVqEVS51eQy5jL pGqbFRfgkwZvxMkCANEyTVxdSYTEEipFR8ClAR/VeFuWMcydMXBQMb/+u Be74XBUnhI8kl8ASLEDC1utKStysgMFO3oh+S+cL4mOKOQMoIeyKYW27d madF1gzjo/BPLTYGk4H23ntcB1joEFVZEf09fYGSZJgDqfLgiWyxgRR6V vF/jxsrWQR7D/Hj4pcPtY/QgyVUOSNUZSI9G/1+AB/gDnH1M4xRfSdf2V wHcbLvKmq5ietB152PzGhR2ue4xg4zkYCGes28GY5YVIUIQFM+ZukzADe A==; X-IronPort-AV: E=McAfee;i="6600,9927,10783"; a="368250612" X-IronPort-AV: E=Sophos;i="6.01,234,1684825200"; d="scan'208";a="368250612" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Jul 2023 00:34:33 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10783"; a="726837240" X-IronPort-AV: E=Sophos;i="6.01,234,1684825200"; d="scan'208";a="726837240" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga002.jf.intel.com with ESMTP; 27 Jul 2023 00:34:32 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 27 Jul 2023 00:34:32 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 27 Jul 2023 00:34:32 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27 via Frontend Transport; Thu, 27 Jul 2023 00:34:32 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.103) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.27; Thu, 27 Jul 2023 00:34:31 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=l1H3ZPmrYNbQTGjJT7IXkxwYTiAMmwr+vorBMZSIsOYWCsMEQw9rNCkLnjlcHqcENW1NlRaJNN4tdoDehdCE380rSFDjm3zkWtvVSZ7KyR1wSpeC/QaugedGMNcc7xhOOLo8HvddTjh6cABTB3YRajAEpb8ax8MoNkHFptedkkX/onHuhexXJ520cQ+HC/59ivxzhKKiIQ4gFu2NYHvR29xcFvZ85LQ6L8/uNdWHzSqP24FL5gOy3m8euyoTb7ArACNtMwok4hXhCWTpi9tbpKHSj9Q5/aU6rL/6AMikxB4fMFlbZT92KPMLp4NgCJAtFYT1A7qHe4/Y6DG7jWVi0A== 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=CJCdtNU7UZqbdsPs0hQiV/kQ4ICJZsdI+lyYqVFDMtU=; b=B6gfjLJ3IyRuNfpTQzf+hK9DzrpxLCG+dX4DOueNCecTyRKobDyt8r36J0ELS0FDGEsLG0ojdptRY+bDJbn2EuhgXnXGDUiAM2Cs5o5d+1RxWbr6Le3rDcibos5rKMf3sBrvxbxUp2e0zZwbrR3PdOfgz9HKy+vi/GlRrE5moLe7ecEXKvwpgBvalZ4XyuR8iPoxpTYaUmPPXz6W+diB2eNLgvo9WdvGP3EyuHdfQPq3UOSk4MYcSrRRQSZ44BlSetQSUZiWBaQ86Y590HrTHJk6+uuvpLvMzx5MsRAzNzvmgyNRKgwwGZAX3As03tFXlbMfXF2cztT/rVpUoN23Vw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from IA0PR11MB7185.namprd11.prod.outlook.com (2603:10b6:208:432::20) by MN0PR11MB6230.namprd11.prod.outlook.com (2603:10b6:208:3c5::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.29; Thu, 27 Jul 2023 07:34:30 +0000 Received: from IA0PR11MB7185.namprd11.prod.outlook.com ([fe80::468a:4b39:392b:d9a9]) by IA0PR11MB7185.namprd11.prod.outlook.com ([fe80::468a:4b39:392b:d9a9%5]) with mapi id 15.20.6631.026; Thu, 27 Jul 2023 07:34:30 +0000 From: "Kasireddy, Vivek" To: Jason Gunthorpe CC: Alistair Popple , Gerd Hoffmann , "Kim, Dongwon" , David Hildenbrand , "Chang, Junxiao" , Hugh Dickins , Peter Xu , "linux-mm@kvack.org" , "dri-devel@lists.freedesktop.org" , "Mike Kravetz" Subject: RE: [RFC v1 1/3] mm/mmu_notifier: Add a new notifier for mapping updates (new pages) Thread-Topic: [RFC v1 1/3] mm/mmu_notifier: Add a new notifier for mapping updates (new pages) Thread-Index: AQHZuVToVshy99YkkE2dGyNcPWpnjq/AWUSAgAGkBBCAAGFsAIAF9M/ggAChIwCAADi24IABSWKAgABl6ECAAEZHgIABcLAQ Date: Thu, 27 Jul 2023 07:34:30 +0000 Message-ID: References: <20230718082858.1570809-1-vivek.kasireddy@intel.com> <20230718082858.1570809-2-vivek.kasireddy@intel.com> <87jzuwlkae.fsf@nvdebian.thelocal> <87pm4nj6s5.fsf@nvdebian.thelocal> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: IA0PR11MB7185:EE_|MN0PR11MB6230:EE_ x-ms-office365-filtering-correlation-id: 5fb70d86-a645-40e6-59be-08db8e73ea33 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ZKNCRW/T/GUUsDS/NRhFpnAWJv5TCw5bgRCBCyvV47SbD9poL6AxPsktQVjlnfc3rGl4JDCIaysx/8UlRHMKx7mfaQe6/eI3MY7wp9De/IHNjB5g0GtOZxWe5/5C5fMeuusMSb+/DKX07SZqIkDjLtOp3xQdyQ0PRImAC6mwyX6HiTCMtJKX5SOKQYcXgic4I819/3MAxKclqdfcRYxh+7yjil0mQio8NLsNIaAMTMO9ZEKZa/NUD3J2K5OW5wUkHI4puvxN4aD+Uc1ceqH3WC0FulywYnCJyF/OwLGf04VpFzCTyx9BcJ3LLaZnI+T9x6feD2BeQbgDF40SZLcIpT/omWOLrzH3d1ZkFzF7for0bCCH223kPwbilRvBoeEJqloRUPq84Usz543wvKccoOK6Zrtcgtq/EqxLH2lOjCRJlSVlVpEqzisTeXx0O6SqFV17zXHeKOsiUXq6RqzMN3KjT8y3IItqx69qaqr9Xdcvy56MlwDvCsS2oviHYsu/XEfF5hfSwAuTcx6vYABzjs3zoB+Br1KCAuWAD2CSY4GFOT+2E5QYkcFiIq7INSX1RCidOUDJaopffIpoHpkOtDGPEqO/1S2Yui9e7y2lkP4X4cpNN+UJxnp9lfBtEp2H x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA0PR11MB7185.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(136003)(346002)(39860400002)(366004)(376002)(451199021)(38070700005)(2906002)(15650500001)(83380400001)(7696005)(71200400001)(38100700002)(186003)(52536014)(5660300002)(86362001)(66899021)(55016003)(33656002)(316002)(26005)(6506007)(8676002)(8936002)(41300700001)(6916009)(4326008)(66476007)(64756008)(66946007)(76116006)(66556008)(66446008)(9686003)(478600001)(82960400001)(54906003)(122000001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?z0VMQ20zfTXHKcz2CLREdM/eCVJiNznsyJa2mveXPmnVp6+VAneDH9cDh69K?= =?us-ascii?Q?t//9HJxjQsuMXF8buV9nEs3KH5+RLfuYBAVTrABcYTzomEk+fgBShl/aSJ8l?= =?us-ascii?Q?MPumNy1UGS+1tLKUkWfNhBQFT+npnq95u+2dXxMZRCprLamXeGfr5y08ONlx?= =?us-ascii?Q?5SstPG0Nrxp4B4EeOpOcrmInpBvbPpay4n/yKwyj36nvlhFXSI1odapqd7N7?= =?us-ascii?Q?rjhbCxevV+rCwnPKVTbj2HU0wpXtiZfy7doIYFvRLVSLWqobalAI1HFBvESq?= =?us-ascii?Q?n712zXigDG0XLf72J26i10uNdXhf0HP0JNW92Mzb5xgFHWeyVCeL2xLN/fzI?= =?us-ascii?Q?AvgEt/CBOOUCrRLBAMLs9OOyWobkzC9skc/wRPih5oT37G7VKIvza3h8K/QU?= =?us-ascii?Q?XqMDKyw4pPCnmbw1Gw/czIYTTpCC256yRikK7d82Dl9fAWVoIvJBJ78UaHFt?= =?us-ascii?Q?qNHXA/E7ggRXze6c+uWJaVLSIUJy9PBbCes+HPM63FTs4G3O3CROEUkm0AK9?= =?us-ascii?Q?374IsBH8f8iFcb9fQvVwPZuXD+dPf8gAp1J6agq0JwMMkNNOOICH8Pty05xf?= =?us-ascii?Q?zD146RTA+lqOtl5TblQ/occ+O2SGe3oLY1YgnJ4n6/iYhkgt2xB1+FhjbpW4?= =?us-ascii?Q?OqefhCt/CLWT+Hn8UFlFckKLw6Zne5Myaf72rHW0h+W1dRR2Ga9hu4E83o+U?= =?us-ascii?Q?jnoilU6kqrxHXxV+X9t89j8mzaGqZOpstWBHlo1SHpR0ogGpUYhjWYxgryd/?= =?us-ascii?Q?U6QzlLhGtB+Z76noQOVXIqRlZkHpZ4ZGriEnmzGfZmF1oA2jmCbm4SUx7+l8?= =?us-ascii?Q?1TbCm6bsKbasmkEkVf6ZpXGRE5drx4oRt9kY0rQ6i6lrFgH+WdsYP/r30VpC?= =?us-ascii?Q?YXePTvvmK7HHdLVBkGwoQSQgnIVwuVtxecfnsmK2iJ+M5w1veNS5dOy0EkRO?= =?us-ascii?Q?n3d6edH7I7Bclq8cqYj1tuZYBpq/WrnxXHs9pvj4woqEiSO9mQU0y5KJHG3w?= =?us-ascii?Q?uP/FO7VY/Qlq1A+O32dFHymxGI/52AC5T6zkmjP/AbfElCLyKCcs9ceNlJyt?= =?us-ascii?Q?R4nSN9v6f/K6AghOJCu5r40LDem89xPWYgHBEo6zudZwqf2uOQIcoHKFutox?= =?us-ascii?Q?5+KxEW9alS4kJqA7dtc3OeLSN1WUQeYoVslbR44VgvX2HGLkac9nDsgdxx9a?= =?us-ascii?Q?TRg2SBvexKeU0UkvpbjBVmF2P0LSfYMZM3xR/9NBS+/eqHzuHDREnR9NkBf5?= =?us-ascii?Q?Ulf8lwGd9M4TlEopMUK1qaiuEGmQSUttOgKk+mzWihkG6yKAdtOVrEQ8RyWb?= =?us-ascii?Q?VP2RdsfJKlKWONLC5gudGtSTTgkCsTYJ5ZbAUUu/rNLmuP3sdvQ+omyVJUCP?= =?us-ascii?Q?QiW1SGBhdesMQzvcKjWv73yyG+ok3UKT8sHQqFuMY01oxy+n0CiKnGyNVlLa?= =?us-ascii?Q?WuclIrm13Ueq89QMSzbclhhYBg6tvVdGTyaU2Uba2yHtnEV7hZiVgALh7toH?= =?us-ascii?Q?peTRapAg2DFL0rag8Uk0px2Mu8tUnE+qAm/DnSpMVrJzghE5doWE5j3sdLoe?= =?us-ascii?Q?BEe0Jt8gr6fvSUS7KwfqDTttQ1yvw1YOz+z7XM/f?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: IA0PR11MB7185.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5fb70d86-a645-40e6-59be-08db8e73ea33 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jul 2023 07:34:30.4298 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 8Lp5yMaXmwjyW04pFVetkjJ+It0AiBksHrRrRf3gnxbUOk/37s9//ylhDm5/Qc33VDpWLmF3phjtrkR7tfTAVgJeZ+XKrZUgTIQdEUCyYqA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR11MB6230 X-OriginatorOrg: intel.com X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 6561140017 X-Stat-Signature: qxbykccg8j5u49mb7rcg1sbqnouo5d3i X-HE-Tag: 1690443276-988407 X-HE-Meta: U2FsdGVkX1/T4BULmzQqeULID/Jf4KZoA8MnKW0tMsM3cDoaFGhP8vTsCJfl1/D9Y0P7whTl32q4pVKKlYMR5i9SDRo4xD02t8yhpGcqPcdEyh9bNXYKLNFAgKeVYmH4v5sbZJlkgnK2lz38hN1bd2QUM9vovIcQf6HkQu5PBVM33eXX21qwT+iF8ySR6GqNNAPtOkU2k8xq6c/lOpWxKjNQb+WdEk/rRfO4nac9Tk/2cYWFajlCfTNp51ekUGP0p/t3nD0+czHVHavkKerj1VENhJhGZIbTGVT4sziTfoGqpjC3KsFrevAvutGvsRReWPUkDhzhIUFUU0BualxIf0qMRSR7aBx3/mJ0nTEfyWB0stquxmfdnP/zZwPMPjnZ+g8/20qHgC3U7XZ5ArLZlNSgma1fIa9aVKHxWbzpsM9x5ukNxoFd7GysMhVN9VtTE3clo+II+K/r0ZX9rQhWqXUFd8dwGGJGpup6Q++qT39XOx4yJk/r/ixWths6J7pBWP/OlA62EyCZzm0CXToMEWplQVgrqVI+Pn6yVkkUjbIHbDOQZHdmPso5xA+uumzu9uVpBO/V7DrWA69VNFXHW+tqzvJ51jUKZSap5QoCs7vgtu5xgUFLE1/CbjC/Vd9W1HoMz7QuC4tj4ptZduDTAwnq6lP1T65fipvKernnJzKv0EtFuO1Ne+ZMfakSQOfnboPCUGLNkskZggQYa8urMczxGz8SQhbjYC2pAtLB/8Ju944iB2DT/8l8bidK9G1joo3bD5QCBrgoSDr78oRv0Hz8UeaDGmq12eZMQe+6Huzb1+2i/uYkE4TYLjNYZdkLK0CMjGZrSVn5MXC5vvE7s5qDbCdXhr2SQrki+9LdS4JbFD3EJpLasZ2AEGcJfYr9ExDJkKYGklelXmek9zp75ujJdkAd9+vS86zDG+kZXW+CBfd//IXMtfPFtxQ+teINQLBPiNCf4m/IAQH4u2F v++OFE2Z Dm84oX6l57MGrsenYU7nQkdvxpvUXPQkKrIDSLKrdrz7uWIlIrg+Tb6AKww20imAV6S85NsPYpVdHqtzlRjnMgAJsJ+lH9n9HDw989TK2sS6RWYmeP3bcqY1wWiGJptZ57WZtY/w4mWcx+N451WoBhitj6nqEtWlsWNN+WwWNH+A8WpZ5dMyVCJ61mHR2lY1t2zmQ7HmG2XiYsQswH1hZt2kXE8DQh6Od5bnYb8/WOZyFYv4FXxu1R72p/yNvz5rrhZHK4rz/kAduh7ViwG52647WYr5+vjf755Cqfyl2PSO5+Qunu0970s5lLVtKYGPhVABmsCxlPRrTCIAKlYDpA+9bsKFRbRpuG5uKrxmJtI1auWFztOpSWjrZSo6/IXBoxOQCSLsHQqJ3eL5J9t7MS6xo7k1mcgPQNDttyKFPKYhS01nq2dsU4m723tHrpmvu8iKhUlB3d7hLUYk= 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: Hi Jason, >=20 > On Tue, Jul 25, 2023 at 10:44:09PM +0000, Kasireddy, Vivek wrote: > > > If you still need the memory mapped then you re-call hmm_range_fault > > > and re-obtain it. hmm_range_fault will resolve all the races and you > > > get new pages. >=20 > > IIUC, for my udmabuf use-case, it looks like calling hmm_range_fault > > immediately after an invalidate (range notification) would preemptively > fault in > > new pages before a write. The problem with that is if a read occurs on > those > > new pages, then the data is incorrect as a write may not have > > happened yet. >=20 > It cannot be, if you use hmm_range_fault correctly you cannot get > corruption no matter what is done to the mmap'd memfd. If there is > otherwise it is a hmm_range_fault bug plain and simple. >=20 > > Ideally, what I am looking for is for getting new pages at the time of = or after > > a write; until then, it is ok to use the old pages given my use-case. >=20 > It is wrong, if you are synchronizing the vma then you must use the > latest copy. If your use case can tolerate it then keep a 'not > present' indication for the missing pages until you actually need > them, but dmabuf doesn't really provide an API for that. >=20 > > I think the difference comes down to whether we (udmabuf driver) want t= o > > grab the new pages after getting notified about a PTE update because > > of a fault >=20 > Why? You still haven't explained why you want this. Ok, let me explain using one of the udmabuf selftests (added in patch #3) to describe the problem (sorry, I'd have to use the terms memfd, hole, etc) I am trying to solve: size =3D MEMFD_SIZE * page_size; memfd =3D create_memfd_with_seals(size, false); addr1 =3D mmap_fd(memfd, size); write_to_memfd(addr1, size, 'a'); buf =3D create_udmabuf_list(devfd, memfd, size); addr2 =3D mmap_fd(buf, NUM_PAGES * NUM_ENTRIES * getpagesize()); punch_hole(memfd, MEMFD_SIZE / 2); -> At this point, if I were to read addr1, it'd still have "a" in releva= nt areas because a new write hasn't happened yet. And, since this results in= an invalidation (notification) of the associated VMA range, I could re= gister a callback in udmabuf driver and get notified but I am not sure how= or why that would be useful. write_to_memfd(addr1, size, 'b'); -> Here, the hole gets refilled as a result of the above writes which tr= igger faults and the PTEs are updated to point to new pages. When this ha= ppens, the udmabuf driver needs to be made aware of the new pages that wer= e faulted in because of the new writes. Since there does not appear t= o be a way to get notified when the hole is written to, the solution I c= ame up with is to either add a new notifier or add calls to change_pte() w= hen the PTEs do get updated. However, considering your suggestion to use hmm_range_fault(), it is not clear to me how it would help while th= e hole is being written to as the writes occur outside of the udmabuf driv= er. And, there is no way to get notified or track them either, AFAICS from i= nside the udmabuf driver. Thanks, Vivek >=20 > If you are writing to the pages then you have to do this >=20 > If you are reading from the pages then hmm_range_fault should return > the zero page for a hole until it is written too >=20 > Jason