From patchwork Wed Jun 5 19:29:33 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Oliveira X-Patchwork-Id: 13687382 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 8962BC27C52 for ; Wed, 5 Jun 2024 19:30:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 228066B0093; Wed, 5 Jun 2024 15:30:42 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1D7C76B0095; Wed, 5 Jun 2024 15:30:42 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 029AD6B0096; Wed, 5 Jun 2024 15:30:41 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id D67206B0093 for ; Wed, 5 Jun 2024 15:30:41 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 5569B81431 for ; Wed, 5 Jun 2024 19:30:41 +0000 (UTC) X-FDA: 82197827082.13.7F22E7C Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2119.outbound.protection.outlook.com [40.107.93.119]) by imf06.hostedemail.com (Postfix) with ESMTP id 87C8B180019 for ; Wed, 5 Jun 2024 19:30:38 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=eideticcom.onmicrosoft.com header.s=selector2-eideticcom-onmicrosoft-com header.b=XmY7N24H; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf06.hostedemail.com: domain of Martin.Oliveira@eideticom.com designates 40.107.93.119 as permitted sender) smtp.mailfrom=Martin.Oliveira@eideticom.com; dmarc=none ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1717615838; 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=j5B11FdDkWD/wobhQyNE+H9hqFfSjPlnvBrJ5gpnZ9s=; b=MBWCjgiZOulnAAKOED5d4jk7ALkSVH7U62+xIq7TbM5Ald5/PGkEsU/h1oT7wz7LVfWLck Q2Zr/Zu5FN4K8LciIHpVchaZQeiBGTMi1YEhbzZrXlMKZFSVg0irrfOABNyBAQvIQYZ0NB 58HqTQIT3rThQwGQ7QsXODPvqyrXqdA= ARC-Authentication-Results: i=2; imf06.hostedemail.com; dkim=pass header.d=eideticcom.onmicrosoft.com header.s=selector2-eideticcom-onmicrosoft-com header.b=XmY7N24H; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf06.hostedemail.com: domain of Martin.Oliveira@eideticom.com designates 40.107.93.119 as permitted sender) smtp.mailfrom=Martin.Oliveira@eideticom.com; dmarc=none ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1717615838; a=rsa-sha256; cv=pass; b=k+cHoMklJBMCt2zkampt5xTe9krhG0EWplFBVqrC7LRYm15RTAiOs96L1cNXw9CmBLFVYz s/Y+Z2nmL9dwhtzKytMjx7mOabMEwJGL/ZlYfotoSGg7bKizYXW3C42hDonPV22EK+o1gg pxP+ZwYLY9a7Ry4XI/WcAheTlaX7k58= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=R5Wc5I8kWOnMSKLf6n25aiuDGSvJepxgclGwL1qop6btuSlG+Ez8kuQA8ZhxUGr2QPmgMUceWLtnNpkfrmVWe3kDcQZyO2tYab34Y0+R73oNQCKzmroEcrQqpwQ5ZeDDWlv5OKPwLEnSM4YdeaDsOgyLdDjnRyc5OQkYvFORSwb5zoICy08t8MADzMnmHeOItKVf0vt3qUA4tegPhnPxPzwahJ6aIyY/1wIMF4ijkrYT9/kQpnCyhnfXZ5TZdZb2RRP4FUL1R68mI3QP8AhFZC0KpBeN/wROxDyaUZxpdinRDYQXFyL9bv6ubmiVVHZO7whUKlu4TUBsTSe+XgcI9A== 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=j5B11FdDkWD/wobhQyNE+H9hqFfSjPlnvBrJ5gpnZ9s=; b=Z8FWRihpngsU7kU3U8m/MV2pAHAXCKbpyaUifqmgKMLz5eFmPAUOglac9n6eVTxqKjKGkS5tyeYvfDsy1fRHvS74HayNvXvQCHNA1IzChkEYhe9NoNqJWsXV3urjzlo5y0+hzFb+YtLJ98oiCsxL9u0ldt+/p8evpDFyZ24Npz4E2RBAVQDNrqs++4I4+K5F3++5wdk4Bf0jIVuStkw/U8iyX+2fa/KNqD9RvpiRk3o98zwQM6W+PdCHkZWGmV58nNKac8udE92k3A9rJM1AFH1SJqO43brpPO8OSX7f5EcwIbauVrQ2PZYGA69h+YFYarke5JE9BqhfOoFumSanwA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=eideticom.com; dmarc=pass action=none header.from=eideticom.com; dkim=pass header.d=eideticom.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eideticcom.onmicrosoft.com; s=selector2-eideticcom-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=j5B11FdDkWD/wobhQyNE+H9hqFfSjPlnvBrJ5gpnZ9s=; b=XmY7N24HanHgev8gGgInDQx/xJUqALr2VboKKJ2NXL/CR1aibK1Ni0WngaKUCOhXBiVrYK0c7uVQNz+9e7vEsPSZwL/mos3yu0H5705zKrJqKXSUEqcWbDjvU8gzqvFH6DoEHv5Dtnt6+am4CoigNEKZmrRz7/oxqE1CXKBMx9Q= Received: from MW3PR19MB4250.namprd19.prod.outlook.com (2603:10b6:303:46::16) by PH8PR19MB7093.namprd19.prod.outlook.com (2603:10b6:510:223::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.21; Wed, 5 Jun 2024 19:30:11 +0000 Received: from MW3PR19MB4250.namprd19.prod.outlook.com ([fe80::3280:d8d:de43:6376]) by MW3PR19MB4250.namprd19.prod.outlook.com ([fe80::3280:d8d:de43:6376%6]) with mapi id 15.20.7633.033; Wed, 5 Jun 2024 19:30:10 +0000 From: Martin Oliveira To: linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-mm@kvack.org Cc: Jason Gunthorpe , Leon Romanovsky , Bjorn Helgaas , Logan Gunthorpe , Greg Kroah-Hartman , Tejun Heo , "Rafael J. Wysocki" , Andrew Morton , Mike Marciniszyn , Michael Guralnik , Martin Oliveira , Dan Williams , Ard Biesheuvel , Valentine Sinitsyn , Lukas Wunner Subject: [PATCH 5/6] mm/gup: allow FOLL_LONGTERM & FOLL_PCI_P2PDMA Date: Wed, 5 Jun 2024 13:29:33 -0600 Message-Id: <20240605192934.742369-6-martin.oliveira@eideticom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240605192934.742369-1-martin.oliveira@eideticom.com> References: <20240605192934.742369-1-martin.oliveira@eideticom.com> X-ClientProxiedBy: MW4P222CA0007.NAMP222.PROD.OUTLOOK.COM (2603:10b6:303:114::12) To MW3PR19MB4250.namprd19.prod.outlook.com (2603:10b6:303:46::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MW3PR19MB4250:EE_|PH8PR19MB7093:EE_ X-MS-Office365-Filtering-Correlation-Id: 9c8d2dfc-0b27-48cc-d87c-08dc8595e969 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230031|52116005|7416005|376005|1800799015|366007|38350700005; X-Microsoft-Antispam-Message-Info: R1ArN8sqOQXgN2EXY67vgawmb4bfvurXXX+x8Zz6D36bmthfyun4r1Omvw3Jy5l7o53n3RVcIeXOGBbUl7/WrixD58XQfEQXsWZSbGyfnI16rzu4Ap8EWwvUEbfcFeJ4sz7pmtP7x5VQ4F9GuriYshYNFB3f2cJVVtxU4yOmESVaCiybu4OP9S1mbpfldn2DI4VglcdoqUCg/MN1iNcFcXhdBcHOAzBLlrKPFYI377J1QzH0nRennP+Mli2nswwFFN/Ry7jRB0qZQO3BbiYDj5VIgF7vTASAudSjcYJqnRcY6WHAJrRGMBsZCGjO/Dr1rhKd68NY8Kdq71agKtLHC5bsSsysZjaSNR0YzLu8D1Tnnhr20zNwYoSnHjX0SGJQSds+wE8bi2p0RPxs6D4k3ytZIJCuaQKNg5cav1e0SxSGRvoqPppfcKcq/PLVYlh9HgKpM1+o2Mol/hHKruOHRvvdYlxnnR8almVpogLYJVeAr1RKmVXf7wzw1QwbcCarKwjjghfiI3+ykBqRe69bd9bUsOxhCJ7rn8LNN3xHLL2RZYS5bEwcRCgitlaJ0YHKW7Kztravb/DowvURIUGjA5pW2RaQ1Gx7hSZCyOkr6+YduC7QJc+ntx/gm7x0hEY6u+9Ihpy8s3tpWcr7jZ7zu68vb1B1rD15ks9KE9Bp+yGXuUJq4UcdbjO6+cb4E4HDgCA0BVjTDb0p1mb+vMiLotC869Xr9sH+663Es45U5idhoMWxPVQC28JnP4J0J29rGr6UOZjJfSk+QTyaJqhEyrrWJbZty69bnwc9sArlIhJ+Rw4JYbQS91v/Pi6/YTDbD/T1+5n01R5Pr/im6hOxYdx7wiqJq1eMt5s08saUmk0hii9ovuRgqjJoVxQg4TgbhjMOQ3oZmd9Xhhjb6qrb3w/qUmIPPCOZ7+88R4rWXlVSe94VJb6AVzjeIvPIDofyc6gb/MXrXL/A9rcyPXxE3Z5cxl1OReE6exPlHQqBlXOicGVATc1bEL2OgmJs4kkMhLlYZ+Fhh7BXuDkwWzHjN7JfN7TkIuhoZoz22uqO75N8IWrJagtHKQjyd624A8FHc7cNSqHsnDqZ3tQkQn7eihbynMeOg10nmrkhfYm7icapsIqAQx/qu4Dlq/deF8penEU2Ua8qZwc4uvI2R50I7WH8wbV1wf9pffnm8APDFLbeSYy7QcGrxomahUWQ030cNiylrZdXOAMtYI+uwcssL9/ss7v7Yduvea5Wyaz50YvrYZWanrPCQKiV9ys1v47MK+jJlvEWgiNfoLYI7w6H/q9M4ptlkLYia7olnAUVlKvuNMD7DcvcHNK81PHbIHqZ7++W+83cHx7dAnuNq3RVj8TkX6yyvRgfYvyBJZD9Pm0= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR19MB4250.namprd19.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(52116005)(7416005)(376005)(1800799015)(366007)(38350700005);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Mf35F/cWIkuaaScaGDguCG8V/by0hLcB+4RKy3usMauvo2s3BNx5o+dEypvaKXYdOCBoi0Z4N815nkILKrkazHy2itH0wFd9Os6I85A6yoQ2G/0Se3AIrn+kj1L1uIRes8nm19qsouD+VTide5OjfXkT4QDZor1OBTo6yy9eAKs2tEuP7KCXjhGWG/wy45zFMjhjyqT2vFLoeDL2m5nY9jbnxLmOeH7Mfnz2Mu1dubZ3xnyvWpzklZMBwxKkEW/md1Ka6yVG6aSX3O4ulX85Yisqg6lYMpiM9WNwZoyYESibJJMKZCTKL7hE+GZPjtAd7nDF5MdsQA4vXYsp47nzeqgTBEfAAqTImN+3OwdaK+yVvjTyQZdmmUJCQ2WlMFcQ0nrlELTuPJGxErQe0OFzDas5iRzDG7SrZAdnnpOZFfOVFxbltNJ7A325XFJVw1K36tXHSlHWyZCA+7hBAKtedfWn2eduVhEPpYYWCtrWJ/LmL8T0yC3K2il9164zOYTU4fgKUCfmY2A8+8GjiUIOylZPY/lvITpN649JCwsNJbTjzpa5P6CJTM1BIkJtT3T6gG60eThVGnr0mtHng4sBIgXz1Ey08nf08rHXFQ0iyDp3TJuU6Nb/Q/i2ksYjs86Rn1+ay8m8WGqsYccWtE5qDdh71lHHi/cs3ecl5NZDhAHT9NOBnjYXkC+mws7FrxeUzQNGH79FWIfsNqbSVvtcEBfG8H9gq3sX5yiiOfFsIDJLhkEhdrffy71+68K+ox7Z7UHScgR/8ckm6UBR7jc4o03+b59rSgHPpBcsH/KqScvR6jEKU40tr1MoqbpvtCSmtJUxL0oUKLLnAUrpshcpMblEHzj+NrhCw7k6O3O+s3yOelpW7agsfpcmf/aHBMqMAkihVF8ppSEXUVnEBwzJ35fKyBzAaKytydWGq7ktZCSH4284CTauKJFRdE1BCKsndDQ93D+tKLfHrZo1sueayiClkJenKUtUjffdnSHZrjnDuNnMsU4NTa/hSpIZtFUCvsaepJi4NZ9qTMPD4jWXJ/jwZ5PUE+vgup3z58Bl/4xXtS0xbBVSHCUMdJ31tAj1hr/xdXLRMhLMJA/6jj4cdTPrVennOUkZ6zFBUUvQyHVu2D98/YDNQjPGofH/FWgLAaItaogn/V23po/+aFMs8CKn46JxpARKdlRVPbGJ6JRmhIozsejlmGqKnzB79oUhBdqmw2B8BNA91Nk8Z/4CyRE2RwBaZItc3JhAfy+8egHxDTBIc4/DE77FAuV0VL0/bBkp03cVnUnNMsvncdYBob/+KGi0MecfEpDm+5db91it9im5QljICdp/FI9W2HPooOPb1CbUyLSTPkkDRHi//Nvgs3+2wOFRfH1vnBR/zIlFNyjhWNfCqN+oYVpxBPjx3S9q0McewiDL2U1LiD1k6f2GXWdWp0zBwyXYs/gB5DFf8eE09mNPbGlOjZYIFPMRjdnWGqpWK4Jjkqcd94TVttm+PZk7i5uRDTiJ9bqpx+n0LmwUk3z9KJSdtQ375VgpVwV+iCMnuIgdIB5wACZG7vCGd+/tHj80buxcnL4k1j+uqjQXZN3nMs3XQV3hT9GP1z0Bh7dEpdl/3CqikLUkRw== X-OriginatorOrg: eideticom.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9c8d2dfc-0b27-48cc-d87c-08dc8595e969 X-MS-Exchange-CrossTenant-AuthSource: MW3PR19MB4250.namprd19.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2024 19:30:09.4140 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3490cd4b-0360-4377-abb1-15f8c5af8fc2 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: qmVv2frgPeMSslsX9CVbY/cjzo/CaJG47zFK50JgOqg5VP4qjZ5UtoRdf9cTbDMOrSx869XKKVBNvYSv+y7U8tz5YVpGOC6C4ZUF60ca9rE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR19MB7093 X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 87C8B180019 X-Stat-Signature: qgxdu96iw3jky4or8iambz9rd6d3eq8a X-Rspam-User: X-HE-Tag: 1717615838-380305 X-HE-Meta: U2FsdGVkX19Lj/qYqu6lmSaGo/y/Gxu9Y5UotfUEHQzCNWSjyIVLpY3Cplw0tMMNFVv50QSnY3TDrF8YWlrLJF0HpEvF56NgXeYOmHjdYiYGU57+BXw2Boy67z8G5fNLQ6UJbXj58NSZKkXyhTG1RVe9ENEOETfPOp7AITGr0LyVG8kJscya58d7CQD3itXhEJ/f3Xl59djkxHc+LdpUz6ud5/lecAfTTUsR7eLw3CgFo0awkKawauKd9NkPyzKwonqj63lZogcn3kem/gz2hDlWOnOZ4F2KAQKWfjvfLSacpnk91IuLzZ+dZHjkujPbA98hlIdCz25wCpStHhYtiI4T5PKJ2f5vIIHTSze7GnJ2cOdoZKAtMI44Fd63/YOWybPmQldesvzi1WiWKrldpq3sIecih+RPH4xevLZHqGKoeuU2iLIN5iX6i5BaV0/rGqRz0L1hTYnTyJ54bG6vtWXQ0xPO9flkGH5xcR+x4gEqrpktwemAeJWunT9Fr+6CDsA8370daNG5CQDHgBbRR0YAKdIpYZFVleNz+tt+kpFMUxfj8ioenOwvfdpzYZztCcE0sSGS5mVgeRAmnDh7J38tJYthri2sxYZ8ey8xywojzN8mvVNNIj2HU9fn5pqUhupbFvX2tsz03xDiCs5uFwSdgkgRj30iw4XYq6Z9jpwSJcKf+PVN5V6ZOV1F6LGyhb3Ogr4tAPklVCBUokrWp26CFKpcpJs6iG58Sx/VqDRJQ37t7jmbeGatpxQZi7TvUzcFfa8cttVkepH+9Uz+6YACc8iGn5ipcYMMNL0I6YiAxwJ21p2x8y3dUDBzRNs/96otghvSmG3dlf68tFhuNwZ2+qpKfiG7Ce2wwW+Mv9jW5qPXh+sL/FlbV9OfV1GywdxgQ9fJMXmp/kbawm9J1blNQwUxo1BBnjvYyYUsUzQWMA11U9WXI9IMURmjXLLXb0pk/CbVbNa2td0ZS05 P/Snm5bd lAUJJ/BvgdPPHzknO4IBklEApE6t7+20z4CHp48g0TWmj3IMeFKuZMKf0Nzhz0SNwQKvccDHiLyJCaSN1IJQ6yxS2wKkstysd4vs1najdvE+z3rPlXvbGT/FFJ7F8VFc++CGKarvulWlZpuhfy/zleWJCMmYCOD/JyTff4b1lznWtuAEwtPQd+F+uypRK1XzW3rVX40vawhE1rqUP7jBu+fqtJ52Nuq44C5ym7iptK5svIjpmPPWnxkED+IiujV9K5HiYefKYcbJMz3DPgzb35I7fcVz/tL4975JMlVJRUss0QXpeMdCUw7233wSFUMYVXL3E+yV93HpuuOfnM712pWGdaar+rnVpxcH8h2t0fs+dVJS3HDDz9tqVK9BHvzyne4zdMkSWg6/cuAJ32GPp3Ejn1g7FuHCdPW8xpOyMWMeVJQaUU5tkZI59E758E8Z6ftVPS1LqxVEvPHgSKOFderH8Zk4Pckg7IITTx0mRXfJ8caA3gUIiKBIkuZJ6giVpEYFeEWIgJrhlS8BUpeRH74d4jGgdXuIx6Fcc 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: List-Subscribe: List-Unsubscribe: This check existed originally due to concerns that P2PDMA needed to copy fsdax until pgmap refcounts were fixed (see [1]). The P2PDMA infrastructure will only call unmap_mapping_range() when the underlying device is unbound, and immediately after unmapping it waits for the reference of all ZONE_DEVICE pages to be released before continuing. This does not allow for a page to be reused and no user access fault is therefore possible. It does not have the same problem as fsdax. The one minor concern with FOLL_LONGTERM pins is they will block device unbind until userspace releases them all. Co-developed-by: Logan Gunthorpe Signed-off-by: Logan Gunthorpe Signed-off-by: Martin Oliveira [1]: https://lkml.kernel.org/r/Yy4Ot5MoOhsgYLTQ@ziepe.ca --- mm/gup.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/mm/gup.c b/mm/gup.c index 00d0a77112f4..28060e41788d 100644 --- a/mm/gup.c +++ b/mm/gup.c @@ -2614,11 +2614,6 @@ static bool is_valid_gup_args(struct page **pages, int *locked, if (WARN_ON_ONCE((gup_flags & (FOLL_GET | FOLL_PIN)) && !pages)) return false; - /* We want to allow the pgmap to be hot-unplugged at all times */ - if (WARN_ON_ONCE((gup_flags & FOLL_LONGTERM) && - (gup_flags & FOLL_PCI_P2PDMA))) - return false; - *gup_flags_p = gup_flags; return true; }