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 2ED47EE4996 for ; Tue, 22 Aug 2023 05:37:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 88086940020; Tue, 22 Aug 2023 01:37:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8302694000D; Tue, 22 Aug 2023 01:37:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6AA69940020; Tue, 22 Aug 2023 01:37:23 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 5B72394000D for ; Tue, 22 Aug 2023 01:37:23 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 24A23C01B3 for ; Tue, 22 Aug 2023 05:37:23 +0000 (UTC) X-FDA: 81150632766.09.8DE2E2A Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.65]) by imf16.hostedemail.com (Postfix) with ESMTP id 16F73180005 for ; Tue, 22 Aug 2023 05:37:18 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=L7CETfu7; dmarc=pass (policy=none) header.from=intel.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf16.hostedemail.com: domain of vivek.kasireddy@intel.com designates 134.134.136.65 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=1692682639; 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=w9k370aUebo0MADTrx0FQZzEmHGaqCeDgu+N78Rq1ew=; b=I6M2+bRdITHPVXNSyhQliWPFwDEL9fiHh59X+9UCYUDY9mevekgZPnQw/hgxWnGZhkcyqe FG1aDBrtw3vbW1bDibxBztkSURQ0QImgH0MtuJNm9QmjXvUoHGk6VwMAFY5mBliwL1hvlC Hv/qXtQknkrjVpClN5xiF+3yQfKNFeM= ARC-Authentication-Results: i=2; imf16.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=L7CETfu7; dmarc=pass (policy=none) header.from=intel.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf16.hostedemail.com: domain of vivek.kasireddy@intel.com designates 134.134.136.65 as permitted sender) smtp.mailfrom=vivek.kasireddy@intel.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1692682639; a=rsa-sha256; cv=pass; b=dOCcXXhKD44pNdAMhM9S8fblCFxlE+4YhnoNkkOUQ8SrP1dJbC21xqHte9lMF5Vdly86Qx 4d2WAhdE9DRZl3WQ7nXTxuEr7DFFxA5GPhA64mT5B09PKPW2MRiCFVOnyHF8JbvMzlKXiW vn+Yf3+MW9j0d7tbmGN4oUfn/VXQt2Y= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1692682639; x=1724218639; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=MnAezWjRfAwgQvJUysXouRA+2YzjDeeBgbTUlFxnhuc=; b=L7CETfu7yqxoii1tfUQ/ruVO/J/TPZ37v/l9XqH9T5HiTymUXjkW/WX8 pX2vsOivqcTANTIbC4ky5f3PjtH+Kc22AVRWaH2I9WTKw0NqZVbg6P5N9 8XMCIaMTuTzBW/RFFUviSzxPTjnkMzu6uOGPGQ1Kzidroc/KdiDDDKm+O 7cqOL1DTd3/ylEL7HjFIHWM5flLKyDrK+ulPUQCv8AscoEGHk1TaRIwXO BlhDUe765P2sP5/xDQyAjJwXWzjdWsxIgAhdaP75dHQMCKPqAyqQNmqbE NIatyBCp0C1GO+hPd4EvxHRx/ieLa5FRf2jwgcnxCmUj94lQqUa2hNqJ+ g==; X-IronPort-AV: E=McAfee;i="6600,9927,10809"; a="377540075" X-IronPort-AV: E=Sophos;i="6.01,192,1684825200"; d="scan'208";a="377540075" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Aug 2023 22:37:17 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.01,202,1684825200"; d="scan'208";a="879802197" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by fmsmga001.fm.intel.com with ESMTP; 21 Aug 2023 22:37:21 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 21 Aug 2023 22:37:15 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 21 Aug 2023 22:37:15 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27 via Frontend Transport; Mon, 21 Aug 2023 22:37:15 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.100) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.27; Mon, 21 Aug 2023 22:37:01 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=J5jJ3L/JCZrELy1KefWMG4gUgrfBC1y6FzNxlfcdAiVXJ0eQdvKfANyK7xlROs+LiIf5CXuyhaUN+Yc81VxB5QPPvCK1ZK3xuOxF677vg8EmDpQjVFWM1t44OBmeVPMjQfHhZuPHvV/L9pVk08OINeSjpEKamYnkh9hBnpz81ZCe6uD8hnet2T97x2Bwe9cOHYNBonw5OCG0pRbGXPNzf9OTiSD/2TdV25bBfnG8FCYi+XdRW0V1nvMFn4ozrJO7IV8WwHZVoMK6v8V8Ud/JAgcupb6D+Zu57kMx3cbI1uHUV7FD3bl1e4BtJ6MIZh/jmW8pWQqBcn4qFOCUQKGj7w== 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=w9k370aUebo0MADTrx0FQZzEmHGaqCeDgu+N78Rq1ew=; b=mOBxFDCLDxK+nlwkayoC2IKb1Eua97mbMpfe4bdQPPjpHV4BpZ08/AD15+5Zi8Md1BKgD7dWnjijL/16vzZLjY17hUeD6qac0L7hXaWuqN5pFlBDG6iGrh74Fyx4bHjMxbil5UrUvHge8jYuAvx3kyANNPzVFyF4IpJ3trQrkLVUln2XxgwFTXgponB2xEPWyvpkd+SN4t/REAbRvHUJ4T3WTf1o6o1702lMEtvLnvEidUoDe4lmRj6l3k7g+fSNgMARtziVdI7XoPfDq5PJohL0st5djXfNbyWKNNC1mccjfFL5DMv7Y+RnzL5Yjs4ae3CSOVwraHdqUtCuDvwPMg== 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 DS0PR11MB6422.namprd11.prod.outlook.com (2603:10b6:8:c6::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Tue, 22 Aug 2023 05:36:58 +0000 Received: from IA0PR11MB7185.namprd11.prod.outlook.com ([fe80::b78c:107e:e7ad:4e2b]) by IA0PR11MB7185.namprd11.prod.outlook.com ([fe80::b78c:107e:e7ad:4e2b%3]) with mapi id 15.20.6699.020; Tue, 22 Aug 2023 05:36:57 +0000 From: "Kasireddy, Vivek" To: Jason Gunthorpe CC: "dri-devel@lists.freedesktop.org" , "linux-mm@kvack.org" , David Hildenbrand , Daniel Vetter , Mike Kravetz , Hugh Dickins , Peter Xu , Gerd Hoffmann , "Kim, Dongwon" , "Chang, Junxiao" Subject: RE: [PATCH v1 0/3] udmabuf: Add support for page migration out of movable zone or CMA Thread-Topic: [PATCH v1 0/3] udmabuf: Add support for page migration out of movable zone or CMA Thread-Index: AQHZ0Nnu32u80K2Na0Cg35Cfz1LQWK/ulcwAgABFA3A= Date: Tue, 22 Aug 2023 05:36:56 +0000 Message-ID: References: <20230817064934.3424431-1-vivek.kasireddy@intel.com> 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_|DS0PR11MB6422:EE_ x-ms-office365-filtering-correlation-id: 3d920b71-16bb-4dec-d663-08dba2d1ccb7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: zo8WApZSnZ2lx5zRJkRuAA8+HHgCtZUBE/rgpcBVYWGYlOtR8uksMQ6VgDMMEom8SYigBW3ud1cGhACxqFQTtoPqt19P2xzopdA/K8miCpT6oh7XKSYaLTv7Ll8xxGr0E9xZhxLlsl//gK1Znz1HAKa9uu3Dp3f8yAmHt3yy4IyTq6olCwuZDUIg248X/5Z00V6y6K6mYTJZBi7emrC6UBhYF4z278rV9eC/ZTWT2/6GRcrlmb2efIP771NNjS6RpP3I34l/Ls1GG4Hw1kRNMT6wFeLGUINvJ5rplDMQLFjaiBReGycR8yimvyokWlnoKIq5UYfTxN5EV0YekJ1yggG0sOEsluG8VDWXAiPgkL4PV2JHY1w44PeZt7PguLsPjT1lmeOeTruUkuuVIOf1li67GDEK5c5xMQQ5Dfrf//hEMpZd+gtNaO+JkmwXn3UP+9mwFAe0Jk8hGESXsYdTffTDoWgNuDcqDdY74QHv134XPzy51rJgLNMbc3sx+ugBX4k76q7YmfsKlEyyaexgY6q48J0dpCFqTbYUuE5N5ftJ0gyGF+8xoF9SMMVn0bP+ftgMuZxOFScQk+7r+jGLN4oUeUZlMy2KY62HRbGa/smYT2M2Xwo//YayJLAljFN/ 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:(13230031)(136003)(39860400002)(396003)(366004)(346002)(376002)(186009)(1800799009)(451199024)(54906003)(6916009)(66446008)(76116006)(66476007)(66556008)(64756008)(316002)(66946007)(9686003)(66899024)(82960400001)(8676002)(8936002)(107886003)(4326008)(41300700001)(122000001)(478600001)(55016003)(71200400001)(38070700005)(38100700002)(6506007)(83380400001)(2906002)(86362001)(7696005)(5660300002)(33656002)(26005)(52536014);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?j1v4UqyflP0VUuO52580G82/fv9RvTT0kK5vTm/vwXY2LciLA0Uwf0s0BHNH?= =?us-ascii?Q?isJDz92yL5M4dJs9kHo/0cwKRH/mcIvoGYXbcFCUgZF42F9PbMunbeo+0C6O?= =?us-ascii?Q?JvMKmI4Dfbh1+QYv6nTUqpjnHE6vKdg2mEv/aPtU5d4ZtrrcAGAhD+y/H5xI?= =?us-ascii?Q?MOqjC/1qzs0NYbCfJxVbbtd+5DkqBhq0YSvMQiqHFmvA2oEtaJgI3rKsazHS?= =?us-ascii?Q?DyTpHH6OwL3rQmstRGXW0E1UqcLBlpwnVMC/ctGo3xxninbUx4kFRhJkITJL?= =?us-ascii?Q?X5vrHN4y1buhQ8U56Ww75/MOv/RtVaxVW7ggCvPGi6sz18iwbgWMnEFvMUc6?= =?us-ascii?Q?shONnTLe0rujNj7SmCeofgYyaeE5uuFYo2XGverjGBV73Z/+O206Y2NjW2XA?= =?us-ascii?Q?6PSVb6JTqGEuaYc63aHwPf5T4LVjRHTMvPMpZTbnziO/aYp5VWp7J53v8D6z?= =?us-ascii?Q?W2nTn7o3GxM1jbW0NXzyfjosDaW8lPvLuDUpJnMUT9k7s64D3uml9Z9knfcD?= =?us-ascii?Q?erADMUX70UtFDK3sLbffe8UkIo9hQsIzrXCDJkrZ/zAVaciWykqK0A1VPpUS?= =?us-ascii?Q?+oSCgknZ8pUgO8y49YKreBvnkhzQYxPQA1ygLFKqYbFKdlenLJ3WxsquOYMJ?= =?us-ascii?Q?2fR89/HR4cuZjF+1mzTYqE5inffyFpvw0SW0BYIfF3GRpuw2EhGfMVu+aqLM?= =?us-ascii?Q?fRy0PfsDawLOh3pkLTduzxAy2qG6Po0bYjQcEI76BsNx6tuYQcETYvIg+5wW?= =?us-ascii?Q?GwBcQA9ixpEy2/9wweBqPPjpO8KVs8phLRlzg20w9ieFDsggYPt8Y1W1Rqa5?= =?us-ascii?Q?5eI3PyxqfVdvG6PIE52yNTKW+tLbrrBCtzasS52wGc1rQCPcAdo9H6aeMPu7?= =?us-ascii?Q?pD7SSIhpMx3kP/Pd0N6lcxRPDutz6Yx3PlUAJEYPxEZQBWPlg7zq3X2qzWrJ?= =?us-ascii?Q?oBcJrIHekqrr8R1RH6cIRGgYH4780uE8ty6UnfWBvWc8fNLdzG+bEreaAQJ8?= =?us-ascii?Q?y/vVCB+BJzpyW062Fq74VT6Yp1sMu9ITsPk6G8WZKZP57HqPQtOcSLWLt8Kk?= =?us-ascii?Q?OckgR2hQ3w9kUOnQrZGyhVwNsf8fyLAd4iB4kz3kGT4WUh6OiyDIOr4HOojL?= =?us-ascii?Q?Nno+c5kDz806UzWGZzJMJ1DfRhLDF3CdcqBT7pMJQmPy4+tqmZ4FH9kqdt7L?= =?us-ascii?Q?lFz49OqoQ8PHtpygmzK5YQET9k0VkSKxSN0AIlqlUZ7tvWgmmOFDH9eRlXUr?= =?us-ascii?Q?vu0LA7YYLEk+lKU78oKyv7qcnv1AHjLNyLuF8NwNh1HK56rvZuCCC2uX/Air?= =?us-ascii?Q?W6zvhPo/VJvSFHG+Veq1V63yYOXHgik8+Xbb9ixcJMKvljQfEgSZwjaWiLt5?= =?us-ascii?Q?neiC6CtjSxGgr8BpyJgNtvlvWcPreNC/a5M1ExRJTaKq2uvTR3E1bJHFhOTO?= =?us-ascii?Q?tDOBZ8EC9pfbyJY+wB7s2FlFXmXaJk93TWqHRS1qvj+asmrwkDxFvbFGL/NF?= =?us-ascii?Q?JaaY62LqR04yaJSkJi6/JKpqMvs+P7Tvwt2p3G4Eo/9HWTxEqSFsyLJ9h2rU?= =?us-ascii?Q?g2i1cghYzIahTbtyHiaOZlufgiAJT4MVB0CiTDtF?= 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: 3d920b71-16bb-4dec-d663-08dba2d1ccb7 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Aug 2023 05:36:56.9212 (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: 2PMQrcPbrX0X/2NP6sTtCqksiYBu3q1EeaPH2gDyzIn2X2W/MXGSy0sj5RxedeCOJV9pY4hT2bi33bETB59BAVF3/kDIR9MpTW+Jguxx4lQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR11MB6422 X-OriginatorOrg: intel.com X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 16F73180005 X-Stat-Signature: w4ahoubfe4i5inshzkod5a5ky4a1nckr X-HE-Tag: 1692682638-647299 X-HE-Meta: U2FsdGVkX19aulcNxQkTEAXli+pPAHF+M9xAjVPrZHVbOcki8cpT6oooP+L79vH4IptmsZz0W94q1AhN+ZtQpTOEvI8cw+DHS03JVDzxV3yh8w9xn7HRSDzJKX4Ti7MZFVOUm739LqOTsPOyMBHYwJhTe6bkkO7RsEFRnxOOPsc/HHx8NrHxMTNVbFGV7whDTNklRDytviViHC+MxIY3QY47JbGUvcDQgMMR/WFN9ZmogFdmr8ICuDUsJKhZi16YFeWy4+tyVUQG87ybnENq6rO8/MBCMQd94gYGJniLMymReRkl6gXsNwag0RhLcjLatYwg9Eoa1uz8OStG5xR0VSD51uW2lQrmE/kQvTRemh6am7qCmGwFRWqbaIowqjmhHTkLTKtPHP8JDQ+i1pgsu8vJwE1MPW0hom+jw2bHgQZsP5SvfuBmphGZhXFHNudS/a8ovG2oSMktBQuBlQxerg1EHV/mzCNHQ9iyjTBs4kBD3qCYN08M08eNW+VtIaYJ/o+P+jSeOh6/o+YhorBAmusGYUNvZoiAlDNtA2lavsxntC+C4DXfKE4JGJDf6PtM3BMdBCpAxoPKw8sD1HJ6XhOtbHtMi43/jI6g9rZ2V9xSjF0fX7Q/bduqcVke4RtIUQ1Cj0uprnv+RA53j5RGidwFkkA3ZL7jbC/CWnSAcdHSzocOXQlciJZaYOhFp6iI/4ho6sEbLLXsSBUKLNwx2MTqkK1XjTktA4o4jll7PwwC4HA+DX0iLLVuSIAD6TShsHo7AX4ZhgE5+41Z/wc9qmOi0b4aeMRaqanTIE+wBzNeqgT70MjsROccEBvUvsD3bLtrhvRRq7aAG5lhlwfQHVR5Z5WqNgnBt6hMlOnpd6Woj6FVpng2P5y0WxcsZt/g3YeGYkRx8IpIYIAeR9KS2H+PBnGglkLFtb/8rQnGa52Gzh7OcLnLJCMxl8SPnTEAf1R66s/gLNgmLuuaIyH 5sd2FxWK x2gOZqWHJoQkO5z1KCU/BfMVN7SuJYCe/jro7N3QfkdSNcu0/mTzv9mE7nT1u0Ar+430oF7m8F0OC9Pr23K3HKu75bDQQTMWGN7vry1kpDfaYWjdR5Hi7uEXBF9OuGRCnC67Qq7RXCoexX9d+GQ3aXaTr2gB7+MRatOgvqzgGjVAS7Ph4eV/YavgHDfncVEalh3bL5REKn96K7Cpr6S83MPmovFsDFBeYSf0KCX2SIxOPvF0d+KRTk71WZJs8j9eO8TZ/6GWhxNHmsqaqL8EomG21LuSmolwFPtgMMxV1y5YkJscxTVsHCkmYFx2e6jjFcG1RMxuHyq+0B1VbQbUCKZqfjA== 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, > > This patch series adds support for migrating pages associated with > > a udmabuf out of the movable zone or CMA to avoid breaking features > > such as memory hotunplug. > > > > The first patch exports check_and_migrate_movable_pages() function > > out of GUP so that the udmabuf driver can leverage it for page > > migration that is done as part of the second patch. The last patch > > adds two new udmabuf selftests to verify data coherency after > > page migration. >=20 > Please don't do this. If you want to do what GUP does then call > GUP. udmabuf is not so special that it needs to open code its own > weird version of it. We can't call GUP directly as explained in the first patch of this series: "For drivers that would like to migrate pages out of the movable zone (or CMA) in order to pin them (longterm) for DMA, using check_and_migrate_movable_pages() directly provides a convenient option instead of duplicating similar checks (e.g, checking the folios for zone, hugetlb, etc) and calling migrate_pages() directly. Ideally, a driver is expected to call pin_user_pages(FOLL_LONGTERM) to migrate and pin the pages for longterm DMA but there are situations where the GUP APIs cannot be used directly for various reasons (e.g, when the VMA or start addr cannot be easily determined but the relevant pages are available)." Given the current (model and) UAPI (udmabuf_create), the userspace only shares (memfd, offset, size) values that we use to find the=20 relevant pages and pin them (by doing get_page()). Since the goal is to also migrate these pages, I think we have the following options: - Leverage check_and_migrate_movable_pages(); but this function needs to be exported from GUP. - Iterate over all the pages (in udmabuf) to check for folio_is_longterm_pi= nnable() and call migrate_pages() eventually. This requires changes only to the udmabuf driver but we'd be duplicating much of the functionality provided by check_and_migrate_movable_pages(). - Call pin_user_pages_fast(FOLL_LONGTERM) from udmabuf driver. In order to do this, we have to first unpin all pages and iterate over all the VMAs of the VMM to identify the Guest RAM VMA and then use page_address_in_vma() to find the start addr of the ranges and then call GUP. Although this approach is feasible, it feels a bit convoluted. - Add a new udmabuf UAPI to have userspace share (start addr, len) values so that the udmabuf driver can directly call GUP APIs. But this means all the current users of udmabuf such as Qemu, CrosVM, etc, need to be updated to use the new UAPI.=20 - Add a new API to the backing store/allocator to longterm-pin the page. For example, something along the lines of shmem_pin_mapping_page_longterm= () for shmem as suggested by Daniel. A similar one needs to be added for hugetlbfs as well. Among these options, the first one seems very reasonable to me. Thanks, Vivek >=20 > Jason