From patchwork Wed Jun 5 19:29:29 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Oliveira X-Patchwork-Id: 13687392 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 D3F22C25B76 for ; Wed, 5 Jun 2024 19:33:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 695726B0099; Wed, 5 Jun 2024 15:33:24 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6455D6B009A; Wed, 5 Jun 2024 15:33:24 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4E62F6B009B; Wed, 5 Jun 2024 15:33:24 -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 30E5D6B0099 for ; Wed, 5 Jun 2024 15:33:24 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id B0E5F14158E for ; Wed, 5 Jun 2024 19:33:23 +0000 (UTC) X-FDA: 82197833886.28.541F9D0 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2110.outbound.protection.outlook.com [40.107.93.110]) by imf27.hostedemail.com (Postfix) with ESMTP id B525D40011 for ; Wed, 5 Jun 2024 19:33:20 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=eideticcom.onmicrosoft.com header.s=selector2-eideticcom-onmicrosoft-com header.b=Myi75pSZ; spf=pass (imf27.hostedemail.com: domain of Martin.Oliveira@eideticom.com designates 40.107.93.110 as permitted sender) smtp.mailfrom=Martin.Oliveira@eideticom.com; dmarc=none; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1717616000; 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=KK7cpODuC2vrnu2LI2gP1Gpl8QQ3tT8dvcO1Znjx7OA=; b=WgDiHddUI30HhDFmcnSvjsHiFY5tRR+wysm2/wJHabaQYld0mkEuwXhwuC4Z8k7/IcZ/qB gLP4uJThSuhaRcxa5p0aZ5fMI95NUXBAngF6Kjh4cs2odia5aCGOMcQBg3knGVWRd+AR1Q rDR9JtvsugnlYmkYdmJv9cdFtF3HFsI= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1717616000; a=rsa-sha256; cv=pass; b=lG7HhZcC5e0OhsVLlVW0XMb3SF1HmxLC0GTnqNvbAZDvOB9YlpFv9Xy3UuYUphAsPWIznX HoZhIcVbPKzlXKT/Bx4KlDEcZxlp9CXrktVEM9sGaRhigZ1BnPjzWdLzBN0ers2/x0sigG tHX9icaD873XCLM2psnVPE3E1IsIWKs= ARC-Authentication-Results: i=2; imf27.hostedemail.com; dkim=pass header.d=eideticcom.onmicrosoft.com header.s=selector2-eideticcom-onmicrosoft-com header.b=Myi75pSZ; spf=pass (imf27.hostedemail.com: domain of Martin.Oliveira@eideticom.com designates 40.107.93.110 as permitted sender) smtp.mailfrom=Martin.Oliveira@eideticom.com; dmarc=none; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MLGYPz+RBH6dfp8xqYoeUeBBj0Fwb2xXTdEJsVPC7HGOCMje5Y9YsdY9XaxBPG4Nlo8qmXEfsNRf0Bz7OZ9mr28pUjAeQvAY0h2xRao+RXtuLk1pKjnYArflrxVjpH/0krlkCbsmeqgTk5IneW2e40X+i/kopMYmilQ+8zenwjr5lItCif0g205fivAyMMpb6KVSf6hMAW9wLoCJQR1jExw5eXPOV560HDDyVZYAPCpvBeFR3yj+nkb3DjevbIIgq9WcVCTP5TgFnlOY8YzxWc7hgXgSLfXUslAZWkZYFo2bTWHmioHET2bEyUMkcmC/e2SOo2T6WUgRST4h4m+l5g== 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=KK7cpODuC2vrnu2LI2gP1Gpl8QQ3tT8dvcO1Znjx7OA=; b=LZwTGCas1onbv5Bgk3wmvlvl2x5bILYPJmdjdB2u33e/KBu7PtX+grWjSugNKMofuD1mXu4i/45CkBwCagbGSc54y571au6bccvt+uhOX/n4pUhNlGagvpqjlnkN233cMftBuNiqcrXK7b047YbguDmf2g5Q7lz5uRYmVaOO4Jrxtx2UvHUDmjzMpPQ7Y/KQ8/1xPGDiPH27pwS9l6o10qoVPPHI2D/j2b6PzLjQKz6Dip2rd3MA1U04xbXCGRvZHWFK8uvmgBekKJhMvRKxZSrBPBxEfQNtvBHzWrGK4jWnfg6ZTwyxE0O9At6B4qwSu4Mxw0Csqkjn4c9jyInQ0Q== 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=KK7cpODuC2vrnu2LI2gP1Gpl8QQ3tT8dvcO1Znjx7OA=; b=Myi75pSZdEI6GCloybekft5B30zaRF4q9/k6UxQFd0FE1f1CddzIOoZw9zumAtp/nESCGH0uh58cjCIBb2bMoZbAJRdsIJ7+1P/bFE9a/T70jUvJu1SuaLwzacpM+KRXIAFlY+/z2HX6VGXw2DJoMlJPA3ZxaALFeis6MnNquRQ= 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:09 +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:09 +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 1/6] kernfs: create vm_operations_struct without page_mkwrite() Date: Wed, 5 Jun 2024 13:29:29 -0600 Message-Id: <20240605192934.742369-2-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: 5ca59512-5b62-4a57-26c7-08dc8595e763 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: ha0zM0tyf8U9v7jHomCRL26QnfIJ7g5gUYuMR6UM4jakXEt79zvc85jMR7o4lIcrwK9TYLHfye1abncNdpIGayYz/U9ovJB8KZuyAtoaP7RD8gtITddgr2avLwh63zq2CFfU6CZ7FzkDDyPKLdGJJ0T36G2kEtYmm0NniSJjtyyBmY1pgzCSy1hnSHPWNHrB4reTdkUIpM7QCrRmYAfZIk9QTs5SOHeoiNOa15cXtt8Um4GUL4rdxLbDiZACV+EGlUAqTB2wkoA/nDm52WkNRmaGIBt5u3nU/vNot7Iunuejm/35T+nAvNLpBwNO9eX5p9Wp7DxOaoCPpolTF7QUKJCxnzgCkIrHX6mHiHzZO5Cuad0iXbvqTaGKcIqayl2hljLYBxdkfCiiUjf/Lr1LDRnA6qx36OzF5vd/zPpvLjZNExrS77ySS0lpQ/xFC7Q0PHXQtsXmY0T2IA531iZe02W54sUm/DZsKLu2nBpKg+QV+r8RUrb+INRKByPYAOWH1wdck+udcz164qCJaqoDGqA/+ipO542etRn2zTos1VpBGDgJc5lQhkuXZ3gHMELM7xPHw9kFdtDsC9g62hzeDKcdwmP3uh/SY6JMHuNH2OBZvoSgigvVbeCYEpI5Hb9JzDIdrW4HpN7M6/YzRmkd2xHVb8IzAKwrAz7amZjiHB3zwA9ylXKmkNld+fCo62EsVZ+BjephcMMdgIGI+P2g6PDoKQSQBToWbjZDbAg3pWPdVwyKSToUZR4XqsTcUhFamZRkrsfXqUtXK4pyHuPd8HOw21czmunoXXi+S3dxba/Spv4R3hu2BWQkXHuNG5T/lYy+sCK9Q+56gO+uIMih6ePgcZBqf1VArH7bu+riFgLJuB3k50yn3O5tDgBsliGMTXb55bTuutso6nulex4SDB/rgxp58/05bcjnPCZm8gh1evWl0P73zv0MZVUEuCfWTzEGZu2o0zz6tTF9jP3hQD9uekMYtVQz3ZS24bzhnoEy1TgTKHD0lWhDYt0sPTmZUzcuDyHp/Gz+ov3jqE7xJIhY4f4zf7bZK1BZitgCR8SxYPazuQIX/GuV8rHRgsrWoeFVve6badBmrFWXGhW4J2ZgrEB7T+THslRp/oO4VUFeixipahYm4Mg+WmtMBMwQoa03SGJxGCFv7tS9QZS+iCe2bw54LuHfZs2m40+kJj0hO+PsQMlti7LWV37uBshKSfCi0G5w0zWQDQ56hUcRPS78VQBq5d3rncpW0aVPy7dehtiu9W/m2IdiustqW4lLKtld7n7jjTXYQUJ0s98bxKBEAfD0qNjqRF/55xDi7UXC4/Rhx2LFKQqKJb4Agq5KZ4WNHv4qTVQ/1adWq0Pb6DTtFqxmGUdqlZ/t5GEEQbM= 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: Juq/p+vTeOs3yHRCDho5hh0Lca9J4NuKg2jMzC8esDg6cXcJg6CALNlrrHIJ2aXxX7IUv6NLdSz1h9uAVmcZm/xYHqZaiPpRrGNi60JHUMDnyuJKobduKIQYMSM6JNpXF9A78+kWMsfzgaYjBcaJuTEEPQ8FTinK7QAm05K7B1jcZip4Wa0E9UBKbpSuoipUm4iVTqCTNDsu5ub3JEPFoZN/1EO1xY1h1AobHRczAUDBu3ekNMh9IfXX610vNrcAA450xgNmxjLyc0MWiFldjC2mzsPTtDhqvJXB9lDYivEyrKLDBieTHbfqJBTo+P8QEJBzdq9vkRfHJHRPPiPu+l+eoZVWOc+t42a76xgjHJavN7/CctbOZsK+mYWjPDFZi/LkeUSf64I1cUyEzqzBJHnV8svntYdlI4ZeD5z57u/nOQ0MAjiibE2/GTI8XegQjzBF51iviQSblgQkCFbnPr3mpEI44qfrlRmSyMKSjigr47XgwY1+7ToddxzSUxKfYHzbtwKWMQ4OjkmOP5wVcGunYaouisgh5xpv+mZtHVlnNCiPALgBqBqUuEgljQNzyXEtKZtv+G2jfKqzqlI7c9wG4t8o8BdDWbPg84sxqJcjdaneyJCTFbtYEmbwJIL6iaaiDDYzCG1qibsgO/PquTHhxrfxzY8wIJvqdyEJURsH9aP5VBm4xtCoGRP1B5a5mlUvMdm5vepxKaVU1DpPqFj/BD7rPO3BSIbSOSVA+qONm0PnPoIAneYLN5/BOCmmodbQDBW1TqlLf1WVVNzwBC/RAzwLJr0dSTMjCuRPJWqMszV4GEbJkjSdMOVhzkxdRgaDjffTPbRm6u0tIn4HHxoSH0mrbEFIrFnCtw8PbmBPLs7RN2SMWkrYMINAnP/ZqUXkW6AM5fPbfQePSBWYuB66j7T0R4Nt1zfFwdIf8aJB3pfjBBFL/I/yqTWwBIwGG71dLrDlaMD/O8T3OZHWdU1r8f5xGNc8kAMzWIDzlEjjRo3TAi89mV59AHIJzCnXnpeMPGp9cK71VZwMSKkN4CD4TWsg9plsaxPmg03kYNlmQINcyEZsCJeqw2KzP5CkmvIzgeK2VDLbgXhod0kPvlQFTex2kR/1G8DkID+azSDY78yehIY295hFRlZNOx+madKXVDzw/mn+6ZRu87x0ZdDHRB72OtbPp7C1R8O/8szZh7XQDCPnF4SjUXWy9MqU9NTWDkonJ8nDn6DzNFTLHmYo4UFm6VqsgsFVzAGSABg6IFGlm1WxDA2sNENpJVBlnPsvLkoAM9Q9Jv2bAI3GTydwBlsfo7xBD7ewZ5rcvg7ShCjSnOcQV1dLJnIcDYrg+/DJ4WrgUMQVnUtKhA2R65rT7Bo6IqY3IZ3BSho7792r+m39QWvFN5aME2qv+crboUaw1rYMO3PIDdnLChBiEuXP2hozVFosO5lZPKdJg1HSzPG6qhojhZFWQOgpXQcJwY5qOXMX8/9iLxBfszpvEKMCvWwkUohRWt0wOURn3+CKo3h7TGdrB4hjkSdO/hIfjL8B2mKYTaqdNifqzqHeEkJPS4Xv85FWtr/LuUq17jfG7fzmzZDWh58ohpqM6L0Af3tBO90nZxllawYt8D3Lsg== X-OriginatorOrg: eideticom.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5ca59512-5b62-4a57-26c7-08dc8595e763 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:05.9398 (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: 6cpLdDav5zuCi0e5bleUHItKuVCW/1JJlEsyR2t1ScNPRZKi7T5A2eihQwdt4PHi8mH8Cvzlt8WiJT1aZ5EQe8NgD4AtY0/JuYB3WlWcPEU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR19MB7093 X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: B525D40011 X-Rspam-User: X-Stat-Signature: 85cutqwsmnr9bcfi3fxho7s9qm1y3bfx X-HE-Tag: 1717616000-995103 X-HE-Meta: U2FsdGVkX1+lVbhuIr7px29UdhrmZhcW4TRDnwME+L2hhey2+GIQo18uYlNxdAjdzIvesfGyMyJNua9BCp27yyNkVfpXU+C2G9fs1nnWq2sPC4FOYG89ibXL5ZGqUAmE/1PNRNfGNzYk1kWOTx+JVPu2ZBmnYTDQNd2kjke8qtdhBOKLObrmD0vXNf8jTqNZ/JQn0azr0z/RdYQE5HMXMALo6Z0c//kwcFFproRoDQuundKD9/VoZB5KFfl93syfjGaxQgxSs+jhrAW42wEx0S/N9dL8p5i0Mos0ULIofAudgBfDdSLp9okLhqqcVdsr7a/owgtTT5F/S8O0Mkg8lxjcrT0tKoacIUOXPgOocIj3ISfZWJoQJLskDHoqaeeGmaPFLGIeckgbwmBjsPfhgtxAfdSsm/R9OIJV3kwMcb2T9FjsS44J0NdPxfSHcjr6nfGy9nRmyjXdFLYd0XtXRpzJ5R4VcpkXRlpbUe4QWlt3FWIUI9gmF/qmfBmz9Ld0pIboCcxmfX4pl4dZeyWw7p3pumaFq5ICTOjSQvuHSkV26LkCnMXVnzNCiwr1chIR6a/dyPzwhIfryvbmWKdAF2uVPRtG01GcBOJE2besWY+QY6dCu/OpdZp0X4Zx8MPRTFw3sdsdskh5hW+R9eOp8W0J4vbCgRuisGwnj1SUFrLS7wpYghF1nfNhKwBnXnuw8os/MJmzwnyHThgNf4qktMZH8VicWM7Ekmc8B5IQwhVSbI9mLJ9uKAbTNvSoIpA3WRss616exrNxKAHAR6DUXIevad4zftTqbsbmU+zFB8hE0EoWNikSQSRSAWdF3q3cA0ZTYtr+9808luUD8CcbF+26yFgsduYHH2THschMS//JdXlhtfhzPktgBiF0F43TIpplab3S8OJv+mcuhrcF1IVrmTU8T0s49eTEJTGR9VdyGdnuAOlgJyy3Zm7QnYngpqbaD3NwHKy7+RJ5qKX Khy0Khae oWzfbEjhRMuS0Ax8PIlZiI9yxSWFYWKvel60jKefRayaNadE1Yr+TDYsXdAUG2ToCFmf3fyMXGIjiEBIycOrsn4OoluiSE7HXFC73swWKjxBekzx0g0EOIE1/gzJ8aykfHnesrv4bAqOUQmQ+MDx2jb94ApRdU4b80Ba/+IMmTyUNJwEZjSV/cjUUBOewkeiaTpLMKE0eEKCeXPpn/GfuoGCgaypOtvAok70gr4qXe8EBgE02NH7Jux6JtDxJl2q9CHULGtgIRA1Y8PyZDTythM26F520TQ5Ru4f2VpTCxvKaGrf/5GkYWNrCWrZwiHwkqawguD1vsV1C8IsYUL40KAZhDJq0943OD6z0vY+zDazxDIGZC5XvDdf8FCOGTZdnajVJAGiqqQ2ZpwtobO+DYipcO1SWFGCK49Dqk2tthUs/vaY= 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: The standard kernfs vm_ops installs a page_mkwrite() operator which modifies the file update time on write. This not always required (or makes sense), such as in the P2PDMA, which uses the sysfs file as an allocator from userspace. Furthermore, having the page_mkwrite() operator causes writable_file_mapping_allowed() to fail due to vma_needs_dirty_tracking() on the gup flow, which is a pre-requisite for enabling P2PDMA over RDMA. Fix this by adding a new boolean on kernfs_ops to differentiate between the different behaviours. Co-developed-by: Logan Gunthorpe Signed-off-by: Logan Gunthorpe Signed-off-by: Martin Oliveira --- fs/kernfs/file.c | 15 ++++++++++++++- include/linux/kernfs.h | 7 +++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/fs/kernfs/file.c b/fs/kernfs/file.c index 8502ef68459b..d5e9fbded3dd 100644 --- a/fs/kernfs/file.c +++ b/fs/kernfs/file.c @@ -436,6 +436,12 @@ static const struct vm_operations_struct kernfs_vm_ops = { .access = kernfs_vma_access, }; +static const struct vm_operations_struct kernfs_vm_ops_mmap_allocates = { + .open = kernfs_vma_open, + .fault = kernfs_vma_fault, + .access = kernfs_vma_access, +}; + static int kernfs_fop_mmap(struct file *file, struct vm_area_struct *vma) { struct kernfs_open_file *of = kernfs_of(file); @@ -482,13 +488,20 @@ static int kernfs_fop_mmap(struct file *file, struct vm_area_struct *vma) if (vma->vm_ops && vma->vm_ops->close) goto out_put; + if (ops->mmap_allocates) + vma->vm_ops = &kernfs_vm_ops_mmap_allocates; + else + vma->vm_ops = &kernfs_vm_ops; + + if (ops->mmap_allocates && vma->vm_ops->page_mkwrite) + goto out_put; + rc = 0; if (!of->mmapped) { of->mmapped = true; of_on(of)->nr_mmapped++; of->vm_ops = vma->vm_ops; } - vma->vm_ops = &kernfs_vm_ops; out_put: kernfs_put_active(of->kn); out_unlock: diff --git a/include/linux/kernfs.h b/include/linux/kernfs.h index 87c79d076d6d..d6ae7d4b0011 100644 --- a/include/linux/kernfs.h +++ b/include/linux/kernfs.h @@ -311,6 +311,13 @@ struct kernfs_ops { * ->prealloc. Provide ->read and ->write with ->prealloc. */ bool prealloc; + /* + * Use the file as an allocator from userspace. This disables + * page_mkwrite() to prevent the file time from being updated on write + * which enables using GUP with FOLL_LONGTERM with memory that's been + * mmaped. + */ + bool mmap_allocates; ssize_t (*write)(struct kernfs_open_file *of, char *buf, size_t bytes, loff_t off); From patchwork Wed Jun 5 19:29:30 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Oliveira X-Patchwork-Id: 13687381 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 B85B5C25B76 for ; Wed, 5 Jun 2024 19:30:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2E9DD6B008C; Wed, 5 Jun 2024 15:30:33 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 299F86B0092; Wed, 5 Jun 2024 15:30:33 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0EC6E6B0093; Wed, 5 Jun 2024 15:30:33 -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 DE9AE6B008C for ; Wed, 5 Jun 2024 15:30:32 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 69466A3093 for ; Wed, 5 Jun 2024 19:30:32 +0000 (UTC) X-FDA: 82197826704.07.F6712A7 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2131.outbound.protection.outlook.com [40.107.93.131]) by imf25.hostedemail.com (Postfix) with ESMTP id 7FC87A0008 for ; Wed, 5 Jun 2024 19:30:29 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=eideticcom.onmicrosoft.com header.s=selector2-eideticcom-onmicrosoft-com header.b=wf7ytKak; dmarc=none; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf25.hostedemail.com: domain of Martin.Oliveira@eideticom.com designates 40.107.93.131 as permitted sender) smtp.mailfrom=Martin.Oliveira@eideticom.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1717615829; 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=iZhzkCh0YEXOsUBThTVc0p81/UyH9suxkN/Dh0CRO+k=; b=Zrr3UbcgU608ErGiLISnrZ2gHIO+ZtJf14P87OT4D1eV2K6oBsXgKMz5VAzIhJJ0hKzBQm 1/6l5JU0zW0j+puB/Xa9i1Q5zsQm6QBOLPFtVWeq3383ekQL7u91Ak+AUdmMC7YG1in8mv VVGnZ0oZGSLEhtET4hAZISpUZ6JMfFw= ARC-Authentication-Results: i=2; imf25.hostedemail.com; dkim=pass header.d=eideticcom.onmicrosoft.com header.s=selector2-eideticcom-onmicrosoft-com header.b=wf7ytKak; dmarc=none; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf25.hostedemail.com: domain of Martin.Oliveira@eideticom.com designates 40.107.93.131 as permitted sender) smtp.mailfrom=Martin.Oliveira@eideticom.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1717615829; a=rsa-sha256; cv=pass; b=ymnU7K2/z7KZVDmtyNNBLeXlM20zPEsoRFAazCdtT5PAIF0cKE5ioCESENLumwbBl3zM1F EsR1roAtLYttZIOwMV5tQTGpxZ7U7uV2/KpGNKl97SPy4ik+5hcKBwQy6ag+ui4uJfP+KD pNpzMxSmRm5dBctJ3l3+SgG56kuQZhE= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GXzgCpABVuwAna9Jge2elVxLGwFtSqFLfc8XBst3lSbNnbTGR8LAvohBSf17vLG2/Ioy6V+W8Ela0PFnq8+IhEmckkerE69QOtaMdkS3jM32xCzu8GtGMjuHFhB3i5OtxyZIunWjSjVoPAK9gVy9I5izvgj4224NThjbdnlBocJEnSOwEYJqZM7rd/ybd+RHBu2nc4oe5qw4c4n520E1F86HrQkpzu7tL3BkoT6Ci4AzwIiXoMYPzeg7v0Jb3R9LWCZx8Z1cGXrnYnp717s2PYhfO8d7LNXYpNbhIbaeQlItDZTzfvhbUATcBtJYYb3cprhF0/6w2JTJmCXGpQ48bg== 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=iZhzkCh0YEXOsUBThTVc0p81/UyH9suxkN/Dh0CRO+k=; b=lXEoul320sVfnbDXWzUmZgepWBzL7iJ1HVpwzYFHi0Ms6rGHCfKnpqRIIoQob8IHY35joWYerii+MEY8dV3DnzjeuDAuLghytQjV4FN+W+fGj4C8yWwDh+nVp9rEWVvKol4KfzA0Elc5Q9Uy7Us9uiXmTSwOxi0TMzQvOWYcd6fDa6QJmRtcdYTYf2ToFEhE40hhu3feJwT9O4q1puZrvtOlvzPexwHfWBteatyVIMyZ4Y/TovJrHKMovrqr04kEuVjWIz59Zl5VmDRkhdUisnYmoaCU53XXEuU2z+EjOxY5UhccIHPck6rW+Bu//xWxxyF5wY7HX+lgap4HBuVQeQ== 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=iZhzkCh0YEXOsUBThTVc0p81/UyH9suxkN/Dh0CRO+k=; b=wf7ytKak5P41Cyst9fDP1j86RjdXX/ZpLpulOEZrqQUU0dj6G5yLMPP5PzM/O32blEAGztSJcfgLaz86APaQsfb6ozcGs/G6FDdtcp52ffSOKe7q8EVsIRBYvk9laO1eC6yPAnCb7WM9v9QTGa7mmaaegUkUkhVDkEbA6xKvypY= 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:09 +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:09 +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 2/6] sysfs: add mmap_allocates parameter to struct bin_attribute Date: Wed, 5 Jun 2024 13:29:30 -0600 Message-Id: <20240605192934.742369-3-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: 542ddc6a-ee66-4ec9-47a3-08dc8595e7ce 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: uEGrR7D7rmRg9eQDAEdPvwX5w4x0zNjNkcfIgrUtrxzJi8cefLPcgoSXuAqMTII0CIMx5SZkKWgtcWmtAiRSHVKej1OWJ//QOlu+dT7e5fyJV+/vWGjFFFudh+Gn0FBKbRk4VJLYqL+D1GpaiHoXOxukZqBR8aKbqlZnv7zDBddy0vNBLinqdP+GuwkQ4iXptm8ZVwHDDJTtwHd4BacSTuU9Fxh/Xrx6ZceUEjQuCjUTwXdGjDF5l7GWpFr6H16liiDA2ekTWwKgrmN96qpzvk80zawuPwSFdAUlBAGAIdDHalBfVR6XbRKr18lvn744drZ0/xOjLn17Tyxcqdjr1XzEYd/yC1jVkO5mKRnNEpNwrFnoPcd6QjrvZj0623pJBdzNf7k1CLrD3aIGMnquaeaAlaIw1Abc8lol9ev5bcECENzGbQOt3UPsctxFeETsc1MqC8x2X8/jFLflgVnDRwqQWo7ISReEMYlhoBJ0GUWis4d17YEREuqEY0diybqBtvGfDcpxUhzX9Uv5SiZ7IDXWwwHDspv88kxGwL0PBnkG6gZSHMgceG4gHtd9EDL3GKynr2IJRs9KUAbEReeZQj6sf+X3NK4gZbscra4cl6ZUKH79tHw91asJg7nnTKBFvvM81/rTTb6HQe33dzkyiYEa2KWHw+2WoKzbVkJnw/ki9juU9wztPVS7jvsmXOxITwC49DxCdJREERIpMtvKqLiGBZ3N/wWNnjZSDb6X8ZXiAhGvybtKx1MmCuGyWVZzpC6kOs0i5wO526wQBSjPnpMcoAoqeFZ7hqhwERe73+srqg97QeUCSrMd0WvjdNNLqJCPd2TK0eD6ysd4OFJo5wBoAqYqbtC9ZgYhBA0p1LfINvDoKpX481ROhFvUk/2IPIFv+yjRtpd1U57FtEWtFc2JdWEmTP7+SdFmdPz2Jjs75gUGoq/BtyzaESJEuarzVNGhV05pVeCufEicE6+PJP30U38ursndFdvAiPOsPZ1UCaPVAQ6ss1vOmQtmm++d6XkqO/qzkJBeykEE89C73atlw+agi+++30UtMpmoaLIsqjIwBRR/f3GF2BHMIis3Cuo0pTFm7ISqGhCzJBKbG9czn06Q6lkMtdWnXG71WLjQJGSAsViiv+K0E1TKr4bMx4UzHPBRkF/Bgs9ZGSfHtI2gu1R6JbPDPC2olIdaogrZZfTDRU8ls18HyYmtQcbchmpxaAmUgpsIl1y6aVx633fFFPg3BmW+9rVx1gT3DCYjNIPKZsumQFQz8RHbveJnI9DbSP0VjZ4fmrENsZ/LoVGNKjhFauU5I03zOVBCRqKPOmzhnUrd1oR429vIUHQ0RYKLM7k8H+CuIVHbx2vMswql7HBCVX1WPxw13XibuGE= 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: 25lmoksPC/AnTLxDIUIe1owA5WKhvq3G+5/n91gYhOwQWWr1pTu76O4zVE6sZiVYERu1jVFHgy7gqmadwomIooh6TYpU0UYUCANQ5+u44my4ndb1VXsPk6m1SQShBFlFUS9hPuUbWo7KlUJ0OY2GNWbH5NuZB9zP61wawXWDOPWgPhiYPzeZJN0neL2iR7L8t6cuPFHMjUNuhIiYruOptRDAOJw8QdV1pDMEjrkM4kmdaIDCt8yYBmkJNrGSo0/DJO9g49IM5kE54jvkHGcbTb86rcjGZsVThvTAi6Ache7jIjSvciQHeiT6erVrNe1r0oIN/TcjKAS6tb3APhktuP1bzssMOQkv242xcU444xTmTrL/4HAoAA3ViRatyUsRpkmuCh5rdbJoRKs5G927Ek9pnKJvCPZ73UViVvq45LKZewcff/O2inToDBesg9311+ZEAA0ZynhveIt9hotV3IH82+rr21SRw+CYEg8Y73FFNrDN3fmG3EdJjdGhPDFzOq0Qrbk67pWj0wUnR71S4mXr0jOdu4XzAkIROJ+iNkwarOKrBjl+NFH1hOV+Gcjuw/czkO570WhRtAEkCihNqAQjEeQC+qpf/WCRvNYZiTaHoG3ze+OcDMEvlzQs59A5fK31YyuL/Tp3bixeBwZ+XIulmuGrBwvigI3z27bmUCnw5Pxsp6yQnv3cc47G/JGOgzjZ6Tdd7dVGE4hdCSIYjtSptYFpgy2kK2yqBzTMIH+bSWbnvg1h+twM72waLhrE6m/QKdSNfPjuHtyx/vp2u3fmHCvbHugo6M0OZoneuxy6vQaNx2wKJSToX+c0doW+QO3sV/og3hG0QLeRQW8MYFZhXiTZNS0Y1eImDvXbRwZZQJIT5+xL/eqbj7tAYXvIVQ1/ad0V6vWxouWM0jqUsFhkzvIfBzAIVAGf+xOw/oCiTRNx9zPxDv1dGYclmLSAQWI+pyez/MnNo2/vMPIblH3XQHolohozs2SmgdbSV4qmnC353aXWFQ8wiz2q8QXCzf2Lff8NuH7NXgPILk22LyCw/QIM1jFmmL7QY0nS2V8JBLkupfwAE/c1fBOpmIl1ihPD/xNymOQBA6YqFcBOybV8jRilWMVBIieJFWFEXpp2Cm8R/m8hoKgviCoqKVnNuM1mvVv5GrIlnXj0CNQJ7ZvCWaEYyuRT5nOlomhOTWZczSzh/bh8KG16YkgnnJ5SvhSDLLlI1b9h+0yKkIx2S5iMZCUz7QO7hSSL6gP0pwylhrWJDoPVaSCGzvnsiO8c49zgolaIIt4aCRm+f2aRQ5bq2DtDidjenD+zIbRoKi8GDxFZ1ySMd26K3RQVGItbNqv3lLatcDo2Gtr0X+yXiU6d/ErItb6ZPL0kB+F/Wm+Lt57Oe4IhGhn2eTMTzhPNtt0VpRENRA9Fso6LROUdCL89rEgWRRptKx/DBi5HIVvUTAeltMOFOC2oz+9PNe+sSdze0M3S7Hz8VnjUzCpMmqQFo24wVeVScBkrYAuz3NYuIVjNXRDiDO4/D8psNihVr+7fFGS1LhdivVbRixNt5CqqTduhtmZWxLegVUfuxpzNBc7EVgjy4G71MACP6JZuDXyRwe+KEEAOHNAbp881RQ== X-OriginatorOrg: eideticom.com X-MS-Exchange-CrossTenant-Network-Message-Id: 542ddc6a-ee66-4ec9-47a3-08dc8595e7ce 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:06.6899 (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: H3f+77+UO1EGX1JN+1QoG7pMYrqZSayMlV0Ae3NDDaY8Skp9PRiq5y7AlwCi5QxGa2uf/9pIbse3/1grg/zRBT/DhtCQGDgje48v7F0rfkg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR19MB7093 X-Rspamd-Queue-Id: 7FC87A0008 X-Stat-Signature: o5pzyhznadc4e9k9hx7ta38xp5b5iqbd X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1717615829-59039 X-HE-Meta: U2FsdGVkX19EUl5aHw5+zvBYfUbkai3obwTqUCNG6N9ZBG1qqR903WfyDJ362CZND7kMZmbpeKmaWAngYBlDw3VXWiTWACOR57OCnDytvDAPg9xIhvI2H0AgawG9b/pB17qoVXukZOBPNGvou5h6iZdu6o6CmNUMcCh5BY9XMKHfwifXd2oUh3kz3cYf3EiNQn5bthofjVGfzAjcr8C6YWD7qIw03oHKhihaRQ+e5iSlltGOvWmSAsUm2CbRZT9wbZhXFj4DZw+tCW6lQqo2Mxx69C7m1vGE2VXBWDU8798alCHKAgQCxxVu19peS3XTsNI1gnBbZF5YA4QJ9JIwnrZU8jJ8j/UbEISaxJfkM//TZRv8Aw1M6MJ14uUmTa/MhECPhsIMv0BaJDhGVOy7M2Q8IagEB2hoO+SYc5NmCWHTdCaB5ZFBNKKYTjBtMuMh41gCPzJEml0FERhTMAjEccQesrXwaF6hUf/2kr3J+pDXoA4JJ4mPFILSeHtTrsLmKkzBjl96pNqzFmbgCHa3zbYXpO+clqCWrFfEuYh33gpY4iSl6S582WZWRGrSehHwJ06Qq9HcANZiDWfVhpAsqWVut/RqUanFyhumM2s5oRLAfe0YxNc3ku6f3OWZAnMfjgcABbnJkWkfsLojBSexVnTmnXeeXdfJ4I9lLWv3htXJXnmiRvXHYmtbSRtr/7GJyaF0rIZb2K8530fsdAFsc7Y2G71qpjcb9arIb1TCXthu8Bz5ewbao8z8GqsNcxlk/e1LvcqIGs2AHNk37LwdZT99ZL7dFYluANQSzLjL8/ex4bLfOVsgneMYy3G/PDBjzanaxwm7ZOWlsgogvvy3b0/nBSUIT8GlvK6xbWX2FK9Vj7cww4XyU8pA3vC+UA5KezZjQtzqMTYzPb2qDdgm3mS6E18NdtVNACMbhO+mtQwosKwoMOHDFAjqksq2awtdUhAlqKE2Kbsp5ETusoV PTGdHjLI Ez/lbFRt1ozRvpjPh6FO2e4x2AHcMnYvImW4jdrB5Cd220MKAbOpWy4qvcddZ9POeIHCSHXGy+YgI1Z9vqKLwwvcteZVGn1imptuCycZNJWCnjfojsI2pbUqRcFmG3u69ziKHoDoVd0Js4Z49QdI53s3HpMZ2QvjcRLHsnBqkevyIL1C/aHxe1Y3HeEXBG8xI6ICGrpSioTMWuc9XNoFTVgGckk9ku/ewBIH9v/VOD4JE3vT1JcA2y32S/tJymwj8qFBN6H5M0lta/ufKusnLlUQSpxO5mTpEB1ogyHzShpa9ITvP9ZVX+wpEVNF5FWwXp0PhNLnaldYee/cqzurGF46De6IobK9C7MdZhN+yqHvvesuUWQ1bLf1m+jVGMSRnE24puP7xOzKu8fzSNVgfTMVggbg5Ljct3/c2xi8jz+tglbI= 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: Now that a struct kernfs_ops can have an "mmap_allocates" parameter to avoid the page_mkwrite() operator, the struct bin_attribute needs a way to choose the appropriate kernfs_ops. Introduce a "mmap_allocates" boolean on struct bin_attribute to achieve that. Co-developed-by: Logan Gunthorpe Signed-off-by: Logan Gunthorpe Signed-off-by: Martin Oliveira --- fs/sysfs/file.c | 25 +++++++++++++++++++------ include/linux/sysfs.h | 1 + 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/fs/sysfs/file.c b/fs/sysfs/file.c index d1995e2d6c94..77c21009ceee 100644 --- a/fs/sysfs/file.c +++ b/fs/sysfs/file.c @@ -264,6 +264,15 @@ static const struct kernfs_ops sysfs_bin_kfops_mmap = { .llseek = sysfs_kf_bin_llseek, }; +static const struct kernfs_ops sysfs_bin_kfops_mmap_allocates = { + .read = sysfs_kf_bin_read, + .write = sysfs_kf_bin_write, + .mmap = sysfs_kf_bin_mmap, + .open = sysfs_kf_bin_open, + .llseek = sysfs_kf_bin_llseek, + .mmap_allocates = true, +}; + int sysfs_add_file_mode_ns(struct kernfs_node *parent, const struct attribute *attr, umode_t mode, kuid_t uid, kgid_t gid, const void *ns) @@ -323,16 +332,20 @@ int sysfs_add_bin_file_mode_ns(struct kernfs_node *parent, const struct kernfs_ops *ops; struct kernfs_node *kn; - if (battr->mmap) - ops = &sysfs_bin_kfops_mmap; - else if (battr->read && battr->write) + if (battr->mmap) { + if (battr->mmap_allocates) + ops = &sysfs_bin_kfops_mmap_allocates; + else + ops = &sysfs_bin_kfops_mmap; + } else if (battr->read && battr->write) { ops = &sysfs_bin_kfops_rw; - else if (battr->read) + } else if (battr->read) { ops = &sysfs_bin_kfops_ro; - else if (battr->write) + } else if (battr->write) { ops = &sysfs_bin_kfops_wo; - else + } else { ops = &sysfs_file_kfops_empty; + } #ifdef CONFIG_DEBUG_LOCK_ALLOC if (!attr->ignore_lockdep) diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h index a7d725fbf739..190b4b9355df 100644 --- a/include/linux/sysfs.h +++ b/include/linux/sysfs.h @@ -294,6 +294,7 @@ struct bin_attribute { struct attribute attr; size_t size; void *private; + bool mmap_allocates; struct address_space *(*f_mapping)(void); ssize_t (*read)(struct file *, struct kobject *, struct bin_attribute *, char *, loff_t, size_t); From patchwork Wed Jun 5 19:29:31 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Oliveira X-Patchwork-Id: 13687379 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 83413C25B76 for ; Wed, 5 Jun 2024 19:30:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BC41E6B0083; Wed, 5 Jun 2024 15:30:18 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B73FA6B0085; Wed, 5 Jun 2024 15:30:18 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9EC8B6B0089; Wed, 5 Jun 2024 15:30:18 -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 7FB2F6B0083 for ; Wed, 5 Jun 2024 15:30:18 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 0314CA123B for ; Wed, 5 Jun 2024 19:30:17 +0000 (UTC) X-FDA: 82197826116.15.216933C Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2100.outbound.protection.outlook.com [40.107.93.100]) by imf11.hostedemail.com (Postfix) with ESMTP id 160D840012 for ; Wed, 5 Jun 2024 19:30:14 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=eideticcom.onmicrosoft.com header.s=selector2-eideticcom-onmicrosoft-com header.b=eKIxsyEJ; spf=pass (imf11.hostedemail.com: domain of Martin.Oliveira@eideticom.com designates 40.107.93.100 as permitted sender) smtp.mailfrom=Martin.Oliveira@eideticom.com; dmarc=none; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1717615815; 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=ScBkgt1wt5k1bldXcuOR8HMDzAQDH+qNdKr1J9JI+eE=; b=mkzwHmpnE4PHUh0CDAgRfaIv699axJbJz6M25bJXDVDnVJb7rknecbHWdit2lam8GujKUe 2YoAb5iVTeEqvr6HPekCjyIdjtS4EdV4WsZyqvWOHyB6ExB7s80HF6U9PhYxQosGoT01zc UrO36mtYuQKGlh24j9h46jk0miz/EAY= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1717615815; a=rsa-sha256; cv=pass; b=JSgFdmjCRSZR+P8Jv1ixTS8ldDsnEZk5dTZLNycUjhoF/mHRWXYwy4n4Xr0C9PzDN/MN0e jmMcHjZ9LhH1KN9U5rPknx8ekIuJdkNgMO1mh+bs/Db9dVAwV46Ohow8GfGCgw58dv8jSa SCnoNnXJcEIlmcnsYRvJ1RXgS161kC4= ARC-Authentication-Results: i=2; imf11.hostedemail.com; dkim=pass header.d=eideticcom.onmicrosoft.com header.s=selector2-eideticcom-onmicrosoft-com header.b=eKIxsyEJ; spf=pass (imf11.hostedemail.com: domain of Martin.Oliveira@eideticom.com designates 40.107.93.100 as permitted sender) smtp.mailfrom=Martin.Oliveira@eideticom.com; dmarc=none; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RCJUpJ2IutU8ePDFInzmoOLx7wg9qGOZ+jua48lJapdtFrMhlwllyFOAgNI5rc1WFfHTOyl1FfY9f3k3pHfm6ovBPVBIdVaD9+mfBLujrBG4qSCPo8asU9I7BqoQe8ialQauaIT5O52NkM2bqNB6b/JWM9OnKPoRqA37Q+NIUJ8geptKVSrZb3T3r+DY4XyH+lf25gJ7tLi7JnSOziSHT0mBVG4Q7C7UcLfkXH0z4Gf+A7snmFonqd6oIVKZVfeoL5DVPe0IMLDtOBtv6Q9bge1X5QTpyNyNTZlxp9hSWdjgcuvPKcplgxEt1OHlkCWmKe/zYjwI3MoQHn7/NjpCiQ== 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=ScBkgt1wt5k1bldXcuOR8HMDzAQDH+qNdKr1J9JI+eE=; b=dkA9AVynqQ6aSKbcQ4QORLvDmr/GjCRjj5+5a6HvIj5waLjRq3f5UBnWWyJsHNmReSD4fmuSNpBJuPNOSK2bue2sq2u5Mxui8D6bZQgwyOHD16lbRB7w3gfwYHPqSa9YFoFSWWB2oT79pBygqGJe58v+vcSmjVzzvONCZPwGfyBF7OeBmRNCfP4L2GJJ7B2Rl1Mr/Za2xh5WH0X7HlY8U0+TrDv/nAxrUIL1TjV2uD/e6kNy8p+tRdT68hKThCHbzdt8rODhGATRkjCax4uwQ56T29IZ7ULMddPBPh10lxlXkjlmzMxam6AImcskj9/xj4wgu1J83Q77O27D8XuMZw== 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=ScBkgt1wt5k1bldXcuOR8HMDzAQDH+qNdKr1J9JI+eE=; b=eKIxsyEJ4QgMM8cH7CiQwTH4tSOydLvKorYAUWnrurP0BjqbNbv8VPekix52P6BEYsIm3otcE4YZ9AA2rEkv086ISvb67Go+OdiEB7ZqOuHCaGYEnXhIdsWAM7IsAcEiLrMPvJQP5y1+G/5qzoztZFnvNCBKAWoqzwJCV39zT8A= 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:10 +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 3/6] PCI/P2PDMA: create VMA without page_mkwrite() operator Date: Wed, 5 Jun 2024 13:29:31 -0600 Message-Id: <20240605192934.742369-4-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: 7aca9095-b192-4d61-0f68-08dc8595e840 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: KywcyXlpsHxAW3EOdHyjlbTeco2wZfPYHzE3hjky8MKLqxU+x3+fI5qZDt/6ysClTYOSD1Mzjm1cZnTjI1kPUvcPa90Pamk1cZbUtFKUhAxxynPWh7e3n/oaVOR1JDGulGRRExnmxdfhHIiEg1MgYD2HrjUwcbg5g/04j2tLmPXzwlh1iAIWGgkoa8QrtWs4LrETMy8thl7kZ8glOXpphHR1ygqrhxbqtl6bf3bhBxo5VscOZrtmns1kGcZGPpjKWU5RQKfmoUrMNPfMx3nZrEHupWAv04feHSZYxQnxqVcW8kyghTq+mX+7Fg0OeHyKbC3HJYJ7DqAoD7yOPRLnCbJg9c0hL3wY/49FdgpBoVTtY82IXsqPd/dAZsbjbseCsxXYGUNPvlo1fNjNzjxNzj0kzZZ3XRqADynkhIN8vxIn/RVco37S+gmXsILlgPu20gSUZYumKZZ+PIvjSPd/BIei6+mzmtgi1X7ca3AsKfJ/OXAMZDoqTYlL+dpB0GX4KZpep6BsUbHRei/naEU/uZ/CW0gg3XOvp/G/HwVIENd471sqHxBqwT9K6d01h6TNVQlYKJ85fKe6+Vytgqu8CXRz5V1fqkVhQnT8z+atPJsOSQXaxp869nA/uWUQNbiYPdhzaOltxKKqLJHcXdL5cq+QO83mnJ/VRhkrW5IbWTa6Bt4X4qbqxUMNkq5XcHwGFyS6LL7S5Ji0ddDcpY9e2076G7hiJZoASI+9Mq689jpD6DTHgKH6n4j89Q3b3qQoKfwhYjfjXzior1tVmf1xRU1Kn0f4Sg2aIOhiLlky4aiAZ15ZK+lUStgb+c1lmo6qUsOsddspcXiFFwbLGKQCbOv8ONVPIBam5QNwmOyhQwBxZfLd0hoiFK19cXlxsw8oCVrf8imhca8DCJ5YcObUOwb0n66Yg8UyGPqVjPRUIdrdDJir8medKHV/rB2PobngxXMpjvddn6N1bOPmN671HeqEMno1/W4crCpJcEmvuRcrlyrGEaFqRUfYqlv6tizUlC9TpYwYbGu04fExkvOBMOYWjVc0c8fRPCg/jE8WFw+FstFXyzQGlkal2oOjNHUuGNVafGkRF1x8D02iay0DYhvjXi0ULnxTV0F+giFSbwRHOH4dh3TPX+sv/VjIlkwjAoXIaptx5VjSmqRpuWGMD6cxllIPvlic5bl+hsVfl+6LVpoMuUXGjFUY73CS0E/axL6KV0oR7d1jp7olLV4jHBmTvF6oJtxCz6BsIEwvSxdxcNMWnpzR+rZo6Elfhti3KqBSBFW/CBxKF+nOOZFZM6sv/avrdd1E0VwP7gTcZKVKQLa6Bolw91A7PLFUh/OUlCSaJ5/qtgtwOZZc+YP58SjMMm0Uo+x2KYt3v4I/XJc= 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: 2WHdetvNHqzPOiRgdKlU0TnI3fHLhedUykoJBmuhCRWT4lnVOc7+zphNmYk0a7Pf+J/PfeIp6GzMvkedFAEQ9I2YWXccfkxmEWStJk1d0ghwS9wUE2PHVGG4sCEK7MLWVr2SJH8sSndXlZMBdDo3SLbNeegmCRLdiPHRwLnoiImApp1K4MXqWkLNt5WB59sUHE7SCUlEoethGFFOCyG37hcHghTd6v30v5q7n69LFLE8tTt9wdfbS2tf3/v8hRgJ5Wh682hNlFoQzxONE81ygGpxpSKUKSK6NqaM5GR0M3PmfOIzE0DccthI/qShhXKg4VD1pPCVhIYlzNeUS5Q1kB122tJQa2toYwvSjAxIv/K4H1EmkT53C9yiTOPxEaKNRD97VHJ/RQ6zQTfJJI4pU8ZsrDmfDALSba1/HfyNfxD/dJej8lNEJDCdH8BBs3INAcPZwsoHqsmWvsBXKtfgiF21XMFeasTO789K5zZOLR1+93E1zzh/oWOx6ireG95WS4EvD6Da1OBtkNIUy/Jv/iNUBdWVVP0OdZXlY8WdK26LS+ntmz9bOD+dmrck+WQ8aliTc6plvx8bmbrYtLlCiPDY2VLlbfm2Tb+Y9rHVMiB3sKEjNxtZDyt4J2NHnbmcOSo40E641/qAV+/siDPizE1M1HGFbZU+v98MynRc2+YQr+iIofn7sW8QFRP5xB/t+RDQ1P8S9ETVG3B/cNsvndNjdHuQ3pQcz24O/mgAncx7W4zjqsPEglHKwhH7mZXjuFiN6lU0patTPaPye5GjmhGZ4t9aHgDFkoihH+9njQR2WIHR3EAVbg9j8i0Gq7hlM1XnibDe0ujLa9t84yVIbQx8CsEBvh4ywlSd8/ckDpSR2lLHUhIAGemxiYYXebpPjJ03X10s468GRZV2L7EaXP6Kk1o9oT2/Hidf4t77h916sCJnXVc2uLn28JWULGVrq5NwMgzkSWsdwcDwm0bnsP43V43hSyFI3MsWdH3cCxI0pcM3d8VG7nUdJ6/z3y6+b4oMJToOQ4hvv6Tc4Zfr14HhEqwUJRDiN/KyDLeBODh5MSOdL0gk5d59sSprnQKE/feVK+HKr+3nqtRD/FFtozCy7PWsFDFH17uB2eZMRtmj9/sf8nCf7lkU/dqsGYWSeH1SNpuJwexk19WGBpJkBl+zrgZkxD7gJihfQEvU29VoLocKrTjkkmGLdo75F9/A748HF5It+fddpwm13wNJgXS4mh/MTRwBKtGuSjukDmjqmeaLkdk9pBgUKjZVLh2KBgmEoagdgMaDPv30Lbm3/73i6YtZ0w1refGZWVdZVi8ngm5ivibOavAY74sgATghDDHLlKqi1U71O1tiYbqzMO8AO4Fhxz1VT1f8sOVICoGyvY9Mqnba2iCa4MHtPCj77cF5SYQfdHH6zNpIa3sa6XWdnFy6+kIKu+NOUtzqw+4Z/lxCuh7mj/ytryNcd4LViiYGGfkjIML74/IVljckCqF3AsegzfAh6i+aaYAHywfpwdCTAGtpqpuD/LeS9oaJ+QS0CADv5oB7A+682tN/WA45i9zYnJWsq9GWsP2gLEt2GCuejNe7TP0fBvDalvoG+m7zQdNf8SxCRp9TTAmEug== X-OriginatorOrg: eideticom.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7aca9095-b192-4d61-0f68-08dc8595e840 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:07.3996 (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: OzI08ObFfg51Y3IXXgHpZqt/XXVhthmYxvHT1F7jB2yJpfPynR1mwxgKejqnhAv6sTCZApUMR4BY/M4n/C2peOfYW2NObOJYyfcagRraxY0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR19MB7093 X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 160D840012 X-Rspam-User: X-Stat-Signature: 8tz4nuyfbxmbosnccuf8a9f4xw4yppcq X-HE-Tag: 1717615814-9536 X-HE-Meta: U2FsdGVkX19DZLYWUnhtmeIGAVxWv/FY8AX7PDhMr8H0dL4ZYVbZyF6PBljGq6YNSMRPqncRFPqbFhFd198lESGz7TiLF2bxDu6gAtUfcoUnE3xfgW6pEI1aaUYlvZALOj/bCsY4ANWfuEAJbbnUxRTm1Kyt39rI9mInW2LLns6a5T1zW72NDlYvSIXG9IYMlIvgiWN3HpxOvnTDsfeVFdRn9GTO+PVKQO7K0ZyuTzdCpWcF3J0b1OlAYO8WsZWeqY/QOXUUimOjg0OedFeoOX9Ih44HuehPO+rslCcjTct3lO8SSKoKh3tNjKOu9zGPBihXZo51jAyfokQyHOnXGqkmblWSYolY4Ab7vkYKOS2v2BCMrMzsQcx9sy2AQ3myZX4WUfJhpZfz/v6/oqAst6nq3bUkhSdQibwzOPrZNH+nJBLx1y4Wn/LMoGcBrxGJ+lvjJw0PcaK2i6SG0Lv9X3QxFn/JN3t9arAJGaagsXfQ6Iza1Sx61yFZZxOiom+kJrIOUnPIRJSIZcsb0GXvPz0dbssuqAqThugKVHKjgSPyInpwQ0matVTvVcfiojvU+KVvETr2zokpCo33hAC3VCAcSTZO0Oql+1wz4aeaBe4LhIQXrFKHwONXjPGQN6G5D+pKf9XSKH5IUY6o8Oz/U7BULcxvbFP57ZjyH6ACUulO4wHsL7ctOLBccf7w85yqE4ijjL8Pnq2WY+4y4Nsic2+fJwxe+ePzswXABcjd/4S14AAJx5VmRgC3LSh7WDf4fumYuqHFzvVUtxLbyApFwvKpRGr8ZKJak4hmErTnazUzAGJvZjtTM7Ut5IyB9arDMgJiJjSdpv8NefY1hcgi10kZUOkgSyE/4rmt/S0wysu9CcHyRdxBmvlq9B2HvNPy/gt3z191nVVgA0p7lp1MsdDeGiuephYyIuhUbEe6c75BfI/j++wuHaZwMSj7oGxwKtGxFXBWbwQzv6NFjWJ NPavGeg2 Ab/JXm1ihCaZR537D4h1cMmmmoMkSabWItqNLzF/B8kmd1uQv5vXUObEUAYtQJ1BSXuD9Kdya8w7V3sMOBQTEawDkjw8o3rWLEqacGXdQKESjaDABUjmA9siTdFnm89ks/LkVxDE2ZESgF8e4Vi/Im4HKoDFCGVGeVKYeHoGpq7Ids8dK8mtlqXBS9LJyGJ//XiLUZ2tBb6yBRLmSso81hZl7VuOprJw67KEmlW2uFY9zO4AAknkW1WJbGVPC9FPC/MURi9bsL9eCM7BaycBPaBrV0OP7oTb1uwkj5zPcs4fsKqWm0+sXRl8vYS9di8ZGZGVuFJL5AeRr9+kM+Uq1AKy7Mjr2dac1iuyAb8eo2tFNeCDEi8EzoKl7OLcgDsIkbHK7xe2A9BZ9Zzg04akOlWHuD4I/4obMXfJcNcixR0NrPRA= 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: The P2PDMA code does not need (or want) a page_mkwrite() operator on its VMA. Furthermore, having the page_mkwrite() operator causes writable_file_mapping_allowed() to fail due to vma_needs_dirty_tracking() on the gup flow, which is a pre-requisite for enabling P2PDMA with FOLL_LONGTERM use cases. Co-developed-by: Logan Gunthorpe Signed-off-by: Logan Gunthorpe Signed-off-by: Martin Oliveira Acked-by: Bjorn Helgaas --- drivers/pci/p2pdma.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/pci/p2pdma.c b/drivers/pci/p2pdma.c index 4f47a13cb500..ac07053abfea 100644 --- a/drivers/pci/p2pdma.c +++ b/drivers/pci/p2pdma.c @@ -171,6 +171,7 @@ static struct bin_attribute p2pmem_alloc_attr = { * to be very large. */ .size = SZ_1T, + .mmap_allocates = true, }; static struct attribute *p2pmem_attrs[] = { From patchwork Wed Jun 5 19:29:32 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Oliveira X-Patchwork-Id: 13687390 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 9F5FEC25B76 for ; Wed, 5 Jun 2024 19:31:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E5D406B007B; Wed, 5 Jun 2024 15:31:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E0C8C6B0082; Wed, 5 Jun 2024 15:31:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C86696B0096; Wed, 5 Jun 2024 15:31:55 -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 AB2F06B007B for ; Wed, 5 Jun 2024 15:31:55 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 25FD91A0E3B for ; Wed, 5 Jun 2024 19:31:55 +0000 (UTC) X-FDA: 82197830190.23.170A89B Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2100.outbound.protection.outlook.com [40.107.93.100]) by imf14.hostedemail.com (Postfix) with ESMTP id 3DE0E100015 for ; Wed, 5 Jun 2024 19:31:52 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=eideticcom.onmicrosoft.com header.s=selector2-eideticcom-onmicrosoft-com header.b=PoETp6y7; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=none; spf=pass (imf14.hostedemail.com: domain of Martin.Oliveira@eideticom.com designates 40.107.93.100 as permitted sender) smtp.mailfrom=Martin.Oliveira@eideticom.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1717615912; 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=NXomzLN72KRZc63HTjgGadCKAKZ9c7ARjZWaUWmOvJI=; b=QKIMcV+p+k/8QbuYLWMTpn5iKJCxHdtF3m62FZ/Lk6FH1MviXagkjVR+ndAdCM/J5gx+g7 LNttcHYlaQec+gdzd6ndKvMzVtNFFkNdJPzh3t099bD17LNoxZJzBed+5cpqft01qGGGAU 3pTiZyHiaSNwpD1voI3hACTsoM5rxEA= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1717615912; a=rsa-sha256; cv=pass; b=efqpqvBNG3ucfKUlSsXCINlh50c4QM2yt4RkAU3XeVbP5sO4S8zone1bGVBg2mkkntUiGr 4mgYpUYa15r/mKBF6vsmluK3/48Mo2yAuX9EDsdYKkVd7KG5Fd6xodOhO+fgqz2d0zA6q+ Q7DdDFirW6OKLdRLzHk+7/DsAZdsKOE= ARC-Authentication-Results: i=2; imf14.hostedemail.com; dkim=pass header.d=eideticcom.onmicrosoft.com header.s=selector2-eideticcom-onmicrosoft-com header.b=PoETp6y7; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=none; spf=pass (imf14.hostedemail.com: domain of Martin.Oliveira@eideticom.com designates 40.107.93.100 as permitted sender) smtp.mailfrom=Martin.Oliveira@eideticom.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NnhCaFMwFkup2VDq8pXN/lBV6JumlDZiTdFPbElDLQ2xXVV60Qbe5oPJBwps3Hj4mf0s0ODG/E4v+wXDuVF22UYyeiuEa+YrvQy4GlsBiQuM1YgF19Mpoqe9Vu/ZeTCdrAtdu6FL9w0LfeAJ36wr1g9wQkuCdDXdPZ8rf4dvfxdlpMdsV0sDc1XqBZ4SKJ/Inm7ttm2B0O+pmdi15DmBWHChdf1KyNJWARhrQTY1yiPtf4sUDUIggQMim3bjmwcQjDAnUMoQW6Wk/0K7CCpOuZniJNbwz54Zp3z5uTxxFGaear8z9AA1ANdrfRUqd0EWlyUjqLDFZbab16OPOPYt1w== 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=NXomzLN72KRZc63HTjgGadCKAKZ9c7ARjZWaUWmOvJI=; b=fbJhzYIEIy8JkTwUhOVbSJVaySHgbUiX06LTGtDOf1lkdd24u6ZvN/vJEwvs9fka9QAIM6OdO5e3R86Co08Pi1/g9gP7dVXEHXVQtRUBwec+DOIzDhEh70mRt0jqrVT81JYcTlBOlsMlfkd/40Pl5rR31yEbH9P/mrFUjq3/MTUgj0GQhGoL1ebrWeogGTTXLQThAVGv+SjS3i27Ag2njpooRYxu+hXta+4+eZp5XxDrfL5hclSzOgKFUXFbg/psZigDMInIvvBYwn5At908abJ2P+avXZGOsfPq6IvXNlwxhJkMoQgQGWnhxPLX1GybASuh7lShKF3sC4ABcl7dFg== 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=NXomzLN72KRZc63HTjgGadCKAKZ9c7ARjZWaUWmOvJI=; b=PoETp6y7IMwtaXphE0R0yCZNsh7kfOcqpZy3SIvNj0hetJFvtWeMEvPCdlLbaCOlPthRrhAdZ67UBSznak2ZC1Onm+SkBESjRtkUz/GiTHjYEy0TAe9S68PgF8E8HAQFi5c5fN56fb73CLkXdvXOPURPZPT9DzI8DiIJSpAXHik= 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:10 +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 4/6] mm/gup: handle ZONE_DEVICE pages in folio_fast_pin_allowed() Date: Wed, 5 Jun 2024 13:29:32 -0600 Message-Id: <20240605192934.742369-5-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: c8f9cd98-a27c-4854-359d-08dc8595e8d2 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: mKLUhvR2kaDeGHlqRRRwNzKKY1UhkljsDzu4jAGaW+NWPFw3RsafEAp59QNxZT8lzRQwIfkGJ4sdgNFW8Z1QV2fWJ9AAU/Gf9t1IWMouPcRQbB3D0E+URHX3SPN8G7tAeCgZR/qgCGfHx+KaR50XkqL0PXVRS1O9Cyi3k166lmSQlneI9ydcW8cpSjs0qZPgC0Hzifmc1gVAapsul98GaQSQvd+7drgGqipo67oP874q3mjKg9nXXsnwHhEt2ttpdhcjAC6tlybpf5BdO7M6X3CLwlKrXp4vVomU3bawvGDnRFyEHc7uz2lhLuxN/BnR17DoCfePlf/3RbiwKdTDcAJwxXVWXZtrFjhXbfLOriCv251b12szHgcdbheT/nTNnblHgURrLKNkW+F+eW//Wn3zDEE9Iir7Iai62V2WN4krqG1LbVipapYc/YiZDnMGzFX0U4z+dWpl7Mp9eDg/lbUcrsZu4Y4dqf7KS3Qckhk3DTUV+nP6OGexSzNvKcqUoR3/TElIFOMDLh3DKfFP2Yw4k0OC1+Bjkz34407vo9QX+BctFKxJe8kh6jPK+oLAGnc71Wu23HTmsfGiqjFyQoLOd3oojcfutZSHE017b88ZVMNVqKingEW4TNU341dfJ2+HM6zr/xoN8Uniw0AJFrBbD1omwsWSDQPXSfnTa35hUHbBLmOPGx1uwmueqKnuttjj/jtaKBog1+ysB5lSD3ZtqbWGiUIGs4JswnSCJQ0Y/QSufoutUKJVJLsyUk9WY/9ivaW2hu/qndFXWxLPd3cWxyfrQ46myZ43gLHZE0IUzQoGbsn0HpbGd7rgg2ypCbw0c4e/NMwBXvz5YfP4LGc0Ta2iT45ZMf9dxE7Fs4duta5nW7Yray8hMHp+mdGsFv7Vpky+7Mg8S8LThin54zmcFznt9IaBpoKCJwR+ObSe44BNQGrSJfcFLjibgkzhBYy0bvoo67nEs7uGitTAl77MLNyK+iCPMhlRpeCoV9ukSzbJz9eYFnuU+QMNkyaJmR0SlIzNeQLD2bU7wq6S+7KD3FcMiSLep3s4DGXHPT8OiE7U9VBr1dghazY2WCKYYHZftdGCEfWxjYn1kvLcD8SRJ19Fld3SLY41PdJgykQN6X3H81nKgO/dDRVDz/XB7YsfqtMmse+6z9Hd84gv/GIormfH09RG4TLV/Kjsi/JANjrIX5a4YbEkzcN2YEwIOAunOgtYGVdjooSIog3nYzKY2cXLSGcIgkpZ6Wc8pCCNPkcJ2lG6usDOG+iF9a3RBoq0rydbW0CVtvDdqVhDSaoU/6QkJFAjb7sCb0pi4MskiZmBvtqrkeKrMjoiaZduSM9aabQjDZyMdj9avDLmhwRh0tVo9YSkVoA7XSPF/i4= 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: 4IBFn1lY282OsDf4NddzOKYkP/fowdqlq8KgJI23ox3+mexVZ2f7JzdratBBW1MVnq4xM5MgkKXYN6RPn2T1jtDheXvs6oCW3ExKGdJlHP27pwZqeTGCZaiUKZo6RdzjTlV+97T8fOkTJjc5f0Gwnz/lP/sB4ereOXBVX2ViGwBmTP/IScTLosUGMKW++ks/sT09l6pyH2H5J1BMQ9YqLIKC1u3oAJQOC+4/TAx6jqfRRY6DodX5AUnOuACr+gfA5J5bZ4Xwoqs3LNJLX5XugGH/GDstbZ6qZG36XRhdSnG1LTcsWq66RPE+AtoEUVaP2+lN26bcgjUeXy3GoZFMVbNU48TL7xWz+CLtpAjV9nLGGcxrZIze3Xdjsn+ddTGwztNoC5jSGfv5ihgBAHkGNucbxZgVmVBGILS1YlQZXCMqCsYOtpLhPnCqYs93VXEAqj0dni6IM+rjBx6TU5MnQqZmkRvByAn/MBEjL73tzbv/o8HaGijqacKZjIH1LU206Qa5Vut/yUMGz5OBpNiRb774DEpP6FRwDCTfpyDlwSzu+i8ktqlkkhrvI1YQaBbhbhHbUcmnvnAgK9M5wjF/CYwKU2d3qO769dbs7bYBN1mf/EutNuIUOVCE4f3h0y/FVOdSVHlHD0206yYfn5r7Gpia9FB5aZtUHvedR5Cz+N8hjmA+iNU8hD/fcEbI+57FXGdjRSx++VkzeU4aFZfhu1qeoIkkeAlRQ61J1xuAElXh3EJ/Up1ozDkvXj3SC+CJPt96MMjvvafAAQH50SaDDg2Fd3MMRxfg5kGa18tm9WKYarhIqpTYGwEIqHl61LKD91IC5sf7Q0kxy4SnaCXoGJLbBm0Zmt8YCfugGeENYlqOtfel0hACWhC0SfFO7UjjiUMhAC0ilx6MBCBknIaQlfE/QzmugIuGvYXgNlIs0QrZZzawvTtwSB6jNfrnq62vIGiWt3hV9ng+unKAv1cDz2lqvpmQK+Bae/+9L79dwUX8qMgt+GccbhsVXQMfZK6zrgSWOfHv+EimBArk3P9foTJ/c0OBOld1vSuZVZv7UnJzsZdoDqSIOfZ0YG/HpsLvrSECQwZ6HRMexC+SvbhI8oT31xQjkm0nSb7oIQA54VuTXiPYSM4eVAFWTzr5WPPen5cfW5Ng0HJ23NGaIUQn9SVm/rTHEHHnUWNYsaTrnO5p+FUemv9A9vG4GFvF3/tdRaDf4tmVmMzSSbcK/stZc70aVdJG1wWI1SP3QymiwN+oFalpFUco+/vhqpN/9CTaAfDiScWoyk+FbbJB1URacGexnk0knwFj3QVObPeUo9Usk6cnMR5S7QRuIbnx8N2yowGpBhfQE2xk22ykthGiRi2FZtdizOFDu0wB0pebJ0i3AHv/Qy1V9hMT5uh2JNs6BTczxxCQsv3ZbrV6LmpfAAUxGCvETWLxQhoXbZzlxzUEJZ2jheAKEBS73IcnTgNkEaI0VVh+77+d/EaR5sXfZarw+4BnbHqSGUxqRZ40y58I3NBx0NTf3Z6sgV08YXoOSWON3aHjUS2OeqTJN4v+mVZiQCKbFikegZibsjeOi/e3YXZe/kKb2x9SBFXCXS+Elpb+LtQNlTNFMXcZ5XyKKg== X-OriginatorOrg: eideticom.com X-MS-Exchange-CrossTenant-Network-Message-Id: c8f9cd98-a27c-4854-359d-08dc8595e8d2 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:08.3573 (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: BI0UEcONtPBY/X4r+TTCEWAh7XN9ibi8UBXhRWi698FKrsBRJ8tep1KYqLgFquJmRpVjEXJK65NuXmPKwRj8MW4yycT6Au2Ncc10iuyvYFg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR19MB7093 X-Stat-Signature: zb4nftraajeuycthg99xmatdmhgnh55d X-Rspamd-Queue-Id: 3DE0E100015 X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1717615912-964895 X-HE-Meta: U2FsdGVkX1+Y3hHQqY41GiJA/aD8sP0YH/0WLTQ6Lnl2Vq8VeM3cF8iaAmbTsxG3FUkQvhmTlE9qG3U/9hZQY4IfQgZF5cSwGgmJ1Rig2Tv79iXvN//EAQHU1MNWZQYW0l9gdEwyGQ6W/hjqsXuSlg3kmDgvTbRO/jZoOQ5ExM5ztn4VoWITS2MNILwpbew+rDtnm3qC6WR02f37bQcIXNfvK6bn/kSD6ssrkmCqpkLRbQciMueIyf33e6GsZFvEPmkMJtXxy8zA23d3J0SrjgDJZUngLTwFn9IeMS/RfZwFPoG7BXHZg6Swo0ZJGKe9SuKbfYzYK6Pj0Z9clnyUyKAEDn4s0DduK74lXa+BLFUncVq68289Goc6TbUgL/VNhK1rFwF8jpf0dJXgCvOgrfWeb9ECOqHp38ujAj1AO7QUczSOfkUUhG/+0LZpb4P9VHRyTd1g7IeZTAQKBpoIeNjBSU/IkmfoudvsV2N19LoqkiplXq5OcOMNbM0P/d6Rckkt0v/3FB5+jwfnZz0uRYwArWA9s5wzA4BnVfev2qnmQRAWgcIMcfgui5iomRuoaa8RJvrXrl6HhkobPkSlghMC4Olhiu5ERgvwrYxqzCaHSNvDH3pMWjbQ38bz1LzHZX2gMyRanwObMg2K5CAOJO0o44Pv4/Sew2DX8T5TU0dlE+PkKilASoQUeUK+GLBDu253bqkFmRwe1ibLRNigvM27P0XasS8Zb9Y+MGg/KDnlUtJD+PpPz58dlN9JyJEOpaMblxB+Nm+x8hIwKaOyLOUH5pn9J6NU0OUJErclh7/+6hKWjliXXdy7jKK+czIu2OYpzsQmtF1NXxPwQSuiBgudiBtJqRYI7bj5M7TdhSLxMdhCkR0H1OMsGJXFzF0CAQtVfxu9/qFO9509whN6m0RgiaD4dvdO6AHsPNvSLb6IkGwUByHVdKHqmhZ4ZwR5nwAJrlKDMP3ZJYLV9zz WXhojtSb z9K30zT9F25fWX6kMP4vJz2GMeGjffJhtTU8ElT8MXzDNmCO2hQMyAjGmj+OhWW7OwO2phWTaVEvq17k8W4MPuodk9AVxh9lAVFhD4E+OKd2E1OzfeS8GcZbASAqCjJiCyyzp9hF7LB7OvOKeKwXIdGOaP1cYd8TrgMy4U+Uv8vn+arjXfJ6a27VP2nYqfvAg6+w7ooT5fyW8uGXpl3IWpCyybQeK922NsQ7r5nrS/1ZwXmNUui+POrabhi/+cur97YgzaoWSnhmWpvL+DMnJ+NFmkYb3gP0LgknKzhvjsI40Uill9LGfDw4Y5c/D0ZPz5YCVYXDyLVtlUllFJank066VnWks9myWGmeqdA74Ycf3RUUvVg6V3lAInTeuawqOzlll2t0EP/0FSPw++kxUW0nhdB3D4clXozirdu9wVpJv34A= 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: folio_fast_pin_allowed() does not support ZONE_DEVICE pages because currently it is impossible for that type of page to be used with FOLL_LONGTERM. When this changes in a subsequent patch, this path will attempt to read the mapping of a ZONE_DEVICE page which is not valid. Instead, allow ZONE_DEVICE pages explicitly seeing they shouldn't pose any problem with the fast path. Co-developed-by: Logan Gunthorpe Signed-off-by: Logan Gunthorpe Signed-off-by: Martin Oliveira --- mm/gup.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mm/gup.c b/mm/gup.c index ca0f5cedce9b..00d0a77112f4 100644 --- a/mm/gup.c +++ b/mm/gup.c @@ -2847,6 +2847,10 @@ static bool gup_fast_folio_allowed(struct folio *folio, unsigned int flags) if (folio_test_hugetlb(folio)) return true; + /* It makes no sense to access the mapping of ZONE_DEVICE pages */ + if (folio_is_zone_device(folio)) + return true; + /* * GUP-fast disables IRQs. When IRQS are disabled, RCU grace periods * cannot proceed, which means no actions performed under RCU can 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; } From patchwork Wed Jun 5 19:29:34 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Oliveira X-Patchwork-Id: 13687391 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 C61EDC25B76 for ; Wed, 5 Jun 2024 19:32:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 583246B0096; Wed, 5 Jun 2024 15:32:10 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 535246B0098; Wed, 5 Jun 2024 15:32:10 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 386A36B0099; Wed, 5 Jun 2024 15:32:10 -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 188656B0096 for ; Wed, 5 Jun 2024 15:32:10 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id C78B51A0E3B for ; Wed, 5 Jun 2024 19:32:09 +0000 (UTC) X-FDA: 82197830778.12.8C94575 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2108.outbound.protection.outlook.com [40.107.93.108]) by imf28.hostedemail.com (Postfix) with ESMTP id 14CCFC0018 for ; Wed, 5 Jun 2024 19:32:06 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=eideticcom.onmicrosoft.com header.s=selector2-eideticcom-onmicrosoft-com header.b=pi3w3toA; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf28.hostedemail.com: domain of Martin.Oliveira@eideticom.com designates 40.107.93.108 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=1717615927; 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=LLEvtGJwZjuGUInJS9PLacP482Vjf2UziijYhxnFPGQ=; b=jL3GMbbqEdcUvo/1T665hVVPze57CfAaM4XDfHclfa7WhoeKWf28YhxELvNqRTjglsokOq Cx7m0Jmw518YNzrVS+usCcXvaSOht5NUxsb1or/5Jt/plYUBK6iOEPOsFfIF3C03bRloBM V5zsRVIwhVsLaOd+sO5q9flfP/LCgSw= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1717615927; a=rsa-sha256; cv=pass; b=xPNL0xl4JZJrI2T9DLy1mQWxAdplJ54w40UAOpd7JlVbiSiBhqXly2BG6+6j3lfAfgcdWs UWq9v+bjpo1DTH+9KzBJHaFT6pmRoWsv+8q6IxyCHDP2clIde9UGjvZ714NDnRDgOY9ZIl tHoxwWjLk4bO8h0XbzOrbJySjqZyf34= ARC-Authentication-Results: i=2; imf28.hostedemail.com; dkim=pass header.d=eideticcom.onmicrosoft.com header.s=selector2-eideticcom-onmicrosoft-com header.b=pi3w3toA; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf28.hostedemail.com: domain of Martin.Oliveira@eideticom.com designates 40.107.93.108 as permitted sender) smtp.mailfrom=Martin.Oliveira@eideticom.com; dmarc=none ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=c+40/1HbSdhQLVXDWUzYOMVHsxynjBpASwATfSvqcJNiuP0Z6WfCGly+JSeHVin582JlnnFp3OaMma0NQ0Dy74ezuKaD4TKHycGkCCIGB4heWar/1c3OpCfDjwty6EvVUb6wnSuYXd869t/R3KI9A4/RB1FnoBrSoEVaAiqjB092ZjtXyzJQsP2p+iPeOediGJvjPk/uJ1n5Ys9erj1fzvURzxALPrjVYFtxeI7TFSEecNRk3ojKZAhrhHjs8TC11AOXFTsn6W0f6+Pg3LKg8AYa8h5YU7QhvH3qByhkjeJnWQUUdjwT5tk3c8IzzHMkVu7BM/3fbQUrF6yHEq/16A== 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=LLEvtGJwZjuGUInJS9PLacP482Vjf2UziijYhxnFPGQ=; b=KbE1hACcQLe4EUN0tP6JkzcySKJbFj7YBjLOqyTko0KC16n8/OAAbAQE+WhYy0Ub8DoJPc3ezdSmJlKRyykVQV1+Hk96alaL3klMfACcOmGn4m8J5Njgrl51r3E3zJvIo6uRP+OyDXaOs09I8IZGI8AizuSIl2jribPApnXV+ofj7UtW5m0z7nFVdnyCTuu+G9xOcVJmRM3mjZ3vdy0oma9swvajuar8WuBYOak5LdGz3db/Um6vfhI1/1ZxbC3PtSkaBBuuTx6eMdITGfjY6xJCKYS2wFxf2utzqzj6UdinVL80flKsKA+9RuZaaj7lQ4qEKXS2dtU6u8Z4m2REgA== 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=LLEvtGJwZjuGUInJS9PLacP482Vjf2UziijYhxnFPGQ=; b=pi3w3toAAxyC8KcTlZpOoHpX26inCpEg2vGib9/5uqGydOm66qHIAyhFAsIfNB/SFjjpSIYLa8uIYKfQyZTSVfEL15sTqx5adK67u5FJ1inD9wLK0QXwU/lnsLtJkXcdxMqMsg8lzpbkoq61cLd1z2u0ac0UGoG+2OiwiAcHa6A= 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:11 +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 6/6] RDMA/umem: add support for P2P RDMA Date: Wed, 5 Jun 2024 13:29:34 -0600 Message-Id: <20240605192934.742369-7-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: 5b3302fa-a446-48fc-9457-08dc8595e9df 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: WoUhsWdI3dWrJg9T87g52xJSlUVURxPCcyyDhKPF1hhfWr8myBzRA5TxcToFIkXO4CEq6z2AA4gT9+5X9m6YciHwQOu3jc5sWUEB4eiIsZe07mUT+HVQ5o15aaaKxJoB4tF0kowb1vTLXnwcxYqcUxmD3BYZ37Bg0bGGov2L3j0vTzImBJ6gYkgXG0pNBxgmGH6CO4+kQu08NPwKnwHZRq+j3pAyp5C3zrouhUsDh0pvbu2AH0O+18T56VaW0qkBx/TatrXj+u/hilDyw/eRpDQ3ad5xCk6NUT5eYpBf3666QVD8W6Q9eGSqOS2SZ7Dk4LDxfRdG/4brXy4mcQz5pQ22QAg9ZsuysHEbLQaC+dViv1riocolLlmmkiVGoe3jrzskpFnHRL7DfYgezj2vPOMdCkx5t1Z2quL3XA3pOSq5eMIa2W2m8E0qdgmKTgRUChx6hJB0MdkKgYhus4IaWIAIwvzjx2RNyJHeW7O0HhnW3ZOhMgZ11UPlKKmXplA52CUy9mFitqpbQgd+2KC65HLH2nFKpiIWcFu+OVJqUd8GugrUPZyoYu9ZicRqeWdJylxiiZAOWy2liPq2E4755JhUnXsuyCFQ5OdAdz8XOODyd1w1JCoXUsJHBVLTWFd9N4vBPuZES8ZGTqKzohlZY4nK6YXoOS58YPtn1DCkw2GuP0vSyXM6PL/9yrt+hZ3gDEbY/jJE2ZHxhHrKqOxoGPkzs/la04X0dabBcEGactd90WO5YbwjfVD+5iRf2X378MoQ1j/qO5V7t6EgYrUUaRcN9qo5irYTI89eTk3o0Toa2nFqqXFTHIur9zcpXYR8htfFBli075H6x0CAsTSaQvGys8Eq+dlGDU/jOKZ1q6ZLBmJ02wiorIizJSpJ7lwhCLaN3TR7FTS1Lhdq7J04MetRvqCSZT7UV8lRthXWz8SvmzFS2ZwRNWeu9WEbGJwUv5K2bbGfFpFaap//MT/DEdrFuS93TxH6tN0muHQUX//TxzCHN5v8YqlTrWi3lALbAIo8LBJWLr9S3yhouv3Uzsf8dKxMq2AzJcf1bygdUJdUf3Z0cOWZV+uiAcE6fC26TaiNEsvlz+oYd9Omt1cJuktDRYDTf/9d1lyW5hkj6b5eNz/MFioL2eOcNLoaRDlr5ecCosUYPgH2WutHUMoSIgFsn8+ypYcNG8TjyZT0Y5XQG02Q9eooXHIXSxr6Q2GlExqQ2oM9ykvIaxZbnyYTZjRTScDMg5qEbl4KJcB51eHVWsCCmFK7Xk4XfTyz5u4LbIhNf5y2CqgWu/wflhHlnaghOtUU+UarVg1pd83Qx6zS6TdlBbf5FHsLhAjzDP+ZQzsq4eSItZRKn/9sfa4gy3qaJJIA0C5XTEORY2ZqvCA= 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: VwS2HTB3sluArf9tP/AMjIZe8Jxn2fndAsKHv7BqtII0aix5KJf3NgL/xP2vA1sdQit89Ye4uDZvLWJyjZoT2QfmEaOfR8JzZlGebpJQBRIZSftYhVIIi3WTaCi943r+SNxpYbtU/VO7YPotIjvbHRJH0s7DVuCm8WYTgyZ9ndXdM2GYBrfrAx0O1nOzYZGVJAhdpjNaifPV7Xw0IqopVxEkuUaiJRfP0xBcpJFF9o96NaZTuPdR8t1+MJQVlSWdYgXBsBOqvnLSvoAw52vNAQRdbpApMWk8mLuX2wywCPjR/5ufTKaN/VX3YycqXojbhTqsURnjUSn//tv6nLQDNYJCKEBhGFp9sSLt8OZMKIyfeYZWkh6YbP0y0b2wU1NNlzNokfF/R92hS26Wa+xlcCQIx9Mhjl4OZQT/9KMjx0trlXUUeCG5xtK5dYG+ExUThszBq1YjlExblOShkNCEhKFFPQXwPFJ1z/rFzZUn29pNNrUhtBw11bwLNR1qVpNK3ZmKuZShXFDTq1sE08d1wduhgC/2nQruvom9YQHA8eTeO3iifNjgSNBk0sFASNy5EJE+IaoJr+C5YCluWpkMUykOXCXtYEctyRWK/AisG3sqZsV1YpRRTCNK7t1TsyuTIVXHvH7z2FRWMRYNalzuCgFwxAWC2So+22EZUvilnMmUD9lSwOWbCdVZBpPgCNTwt568yhd0W0OFAyDdv4souxmopQ/XT0LAQnt/VBjJrqMdwsrXLtlJ7o1jIwkqZE6KQiV/jsRzFvmFxeOTjHf2YkKg5Pi+kGpP0rEN0rKHX7xISlaSm1zu8kIKCdcBKLKP5DHiS6vnd1eeahteF+rAHukOAtrG9tv1htx73WL0h2Bt1SBwl3PC8PQtEecwFRisqL0r5BzJtB3+KWr5ySQNzo8Y+N2jDo4rJr0GAz0qbB+63faZHd1+vuwdRKWG6XE8jXobF12cgfBzHPCsyf8bAB+0L8jZyzX1uRwmtkR3l+vnSvPqpJDkdPC7IQmlEpm9V/JoIJD5cDokliDbM9n6E3ALgEZhne4026gcdoBGtlIN03Bef7qiAqGzShcrytVulkHxOVpNFTTS9MiWdrpjO6oazCkzWNZZqXWmufd2qV0zDeXhs/8zgHvlRIeokMaPUtUIYhGY+/8CsY2p9sCc845hyob4ZeENo8PphiG+KxObq9v0mRoTpV86QEWR+ZGtLwaDWNMjLkl74C2wTpXnnfV2qa3KyDC+BDvqXS/R3nHzX/dosdyJwDcIkta/EjY+ZOy5ZyQlNQ7hm0M92eyt7KEQTV4ChNw/ywYJpG3IA+kemtRnD9NkPFbqB1nmS2mWR+mzXWJ9GylmJYtC7D6yvUdxjbb5nGCQkdvNFsYnj/Id3EPXveofN5QxVBFAqqnThdO/jUDFwPBwVPMa1rhCjO7mTT3enudTnnLYqYWh+f1hTI77Kl+AzPLdxL8+2l/2MPdRqoNueQqr57WGtJha6BOPf/lT+RY2K/HMZZ+0YYHwvi1a5JRShA0jenFOsuwwtDvSGIygwRBVYexdcfAgjXswzoz8yofD6Lj0FPrXa+Rg0DEM4g6/J1V5kHWWXgnaXVjtAaizXTXCFTpxlAIJ+g== X-OriginatorOrg: eideticom.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5b3302fa-a446-48fc-9457-08dc8595e9df 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:10.1101 (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: pW4vfJjQZhLVzHXkMV3OJtREdxV0qWStmNY5Mhj3g+/P+PsH5Ok55ex2XALbpfaYTEzPgsqjRzbj003OD5RBNLbpgz9x5kbuzKMr1z6RIeE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR19MB7093 X-Rspam-User: X-Stat-Signature: 18mqwne8pyoo8azpps3roepwjtjxbqdo X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 14CCFC0018 X-HE-Tag: 1717615926-910639 X-HE-Meta: U2FsdGVkX18neuJPkY5VpqRrpxN6oXA5v/DLqVbBnLS+r+3SbR01ZGI+RnG9IMssBak4qV4Mhh5MlSxxVvgpqCbP0fojL92g/zILyUBIDNFjxPm3fGu0sQof/cS3aA4KgRrKh8mO+vD8zjuvYc10nmf2NsccvFka55/WW0ZhC6/QAgaca7B1ssX30EJq4ClIFw8Y7wdmC8R9uK1VFCkeaQqAW+YgNOj5de9PUtG1YFG0CtrFcF/dRIKHlRoznuo/q/hHLljN8ELg1PnLq/MAiCW95qUvW9NhH6A5xut2Wxh+3U+IGLfJcJpfjvmw06GsVvL0lnTvbzFYrd9steA9dFeliHg6q00r2nveEKFcyY4l5hKiW2xM7NIZT2T0/4uDXU9EVOfPkkevPhvjIAxoHfBKWnm7NJIOJVj6aBT6S6S6JitYF7bxK1E9ogID/lX2lcqCzJgqbC4VaQwrhG6241URJt/jQhjxfUe2TXbtwGaTryLMTgLE1M+7G0X6FXGDJRNyOR0kHZO6Q2g4IeFW0qpi0UUOIFe4PWQqeiAJluvAC7zJRSU+Th3Y/B4tiJSd2XoqNbq85hf9kh9Peyjmsn9rxqY7L3SmGSXITef6DP992KM+emBFc13LczDtfQxH19rZLelqq06XUnRAmoDjVvtZ0ptsHwvMYn7QS2cDjoJYQTyIPUVmWjJN/XrdqIDjfUSfdcmRzrOXRtSeewizkxiu6rIYPOVgRmIRk4Nk9vSvmQW5ZQw+Op9gy4t6W/S7OCpC5luw4smpdG1PZuzzM9XfYtD4rtuF62bQA+3uTrO/krKbnIk/kfrh0V/fEZz80m6e2ZqtdQLdUhKWiLFbFOSlyTXIgJYWC8FjDyjXbHvff1pMW2zqSCEUMeNtTLVYWJ5s0hhBKPnCZgTa+BenUOOogH0eh3Rjn53wf8Stv5j1E+QvVgV0e9pU0B8l17qYfPNaOs/wzEJF6gbGQEJ 4sI7KdIA f6xWAPuwSRyQmCJTHUTJ20v8O/50HrLR4UbBNOzBb1+M/3RfGDT0YjzBri+9MNI/rM+AYrBZuXIL72/qnkEOFq5Mr4tiIFZB2cX7kx23ViH1LHv0EBKJ/bvzBMjRcjj1roCbR7KTDBa9Ua0K1e60bvHNh/aPwqVAsH0bPqpreNg4hG1++7AoFW5oqlUe15Rj+GUV7MmSFRaDgQV/z+q4XBBY/aFvZ6sxFTD1qCqE5vQ73xBQoBQ+RAcixmYxB4wKgjgOKwTXS6MenuOFqfoXF+CRJgGG/u57ABkOjKbpJezkNrukvgugUgZ5hh/1XSsyWudBrWAjUAc+QQWA//+6jP01U40h/TkSWxMNH+PRX6Oz0JeOz6Cvss8S4lQ21vLvx5B7R 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: If the device supports P2PDMA, add the FOLL_PCI_P2PDMA flag This allows ibv_reg_mr() and friends to use P2PDMA memory that has been mmaped into userspace for MRs in IB and RDMA transactions. Co-developed-by: Logan Gunthorpe Signed-off-by: Logan Gunthorpe Signed-off-by: Martin Oliveira Acked-by: Jason Gunthorpe --- drivers/infiniband/core/umem.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/infiniband/core/umem.c b/drivers/infiniband/core/umem.c index 07c571c7b699..b59bb6e1475e 100644 --- a/drivers/infiniband/core/umem.c +++ b/drivers/infiniband/core/umem.c @@ -208,6 +208,9 @@ struct ib_umem *ib_umem_get(struct ib_device *device, unsigned long addr, if (umem->writable) gup_flags |= FOLL_WRITE; + if (ib_dma_pci_p2p_dma_supported(device)) + gup_flags |= FOLL_PCI_P2PDMA; + while (npages) { cond_resched(); pinned = pin_user_pages_fast(cur_base,