From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id E3104C05027 for ; Fri, 20 Jan 2023 13:45:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DBD426B0072; Fri, 20 Jan 2023 08:45:10 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D6CDA6B0073; Fri, 20 Jan 2023 08:45:10 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BE6296B0074; Fri, 20 Jan 2023 08:45:10 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id ADB066B0072 for ; Fri, 20 Jan 2023 08:45:10 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 69C59C0E36 for ; Fri, 20 Jan 2023 13:45:10 +0000 (UTC) X-FDA: 80375298780.28.062D8BF Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam02on2082.outbound.protection.outlook.com [40.107.95.82]) by imf24.hostedemail.com (Postfix) with ESMTP id 14C1518000F for ; Fri, 20 Jan 2023 13:45:05 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=VWwwhjDn; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf24.hostedemail.com: domain of jgg@nvidia.com designates 40.107.95.82 as permitted sender) smtp.mailfrom=jgg@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1674222307; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=zFpLXyPV6xqGwUwLv+UYBIaQiapKf/hfk3zfnmHGJCQ=; b=ZVo01u10yZSpgHGBY4XNPWaxPeWH5S0BV+IfBuPs9Wp/DahCF9bq6puuJyk0TD2ggEjL9P Ycf8GI/tg4mVHKpKoNKusXCxWX5zbb+/PibopcVc92fNUur7IN7dOn15GWqGXB3D9TnjYW dlEoRJTFGoA19cc8dg/TZIm6Zl62bPg= ARC-Authentication-Results: i=2; imf24.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=VWwwhjDn; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf24.hostedemail.com: domain of jgg@nvidia.com designates 40.107.95.82 as permitted sender) smtp.mailfrom=jgg@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1674222307; a=rsa-sha256; cv=pass; b=UC89u4AWmLgQBYDJr/W2RyG6CBLZz4D0iZdxoj6QZEy7gA/5Bk5mCyknG3sXqglidTBQLA bekjwRuY3/9ilxub0RwI37E833ojuL4d9DTeQK5+J7tIJ1S9/goZ9oGIRq9Q+NmoWk7ytc y5NMFMXpuWmNWohe4sLiPCmR460nYAs= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aQWl9SVy0l3CtF4tPDEcNwtA8CZlahgZ+Zzzqe7hOo+Y2oLV3iIyWxgPkZ9+tC3FUAvJvMfnULf+bb9Q8+BoSrMHhxqClgb/PZgGfofG0XmrbWXJOoKbVopSIKXQmD52Xw/VArzqa5xYACEx1B4AbAwCKsvvLEzMY56aw3cj6Y9f/XW4cCC+1CMZva8AP/2oiSBrh9Zryn2sOStBLr87W9p2nysWFeLkQpXwnKvoIUKZWSxSYcHwHxgGWo1eNBuPIScbq6uofk7Pad2WVm4jYli+zJ9PZ7JYj3BYlJja29qqI89cxh3bN0YnVQEumlhYLbkAz0YX2IS7+ROIu9k8hg== 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=zFpLXyPV6xqGwUwLv+UYBIaQiapKf/hfk3zfnmHGJCQ=; b=g67aNuyAE0F3C4el17Gs3rJz/U3OhVms7f/8qfBswj4k0V37zeZWFdz+UPw4XfZg9iCOs7G1Kz2XLg1+FCH8h6Hzgl1gCnaYUHsQJFcmO0G+aMv1BInFNdBAdFpbQGgtRwLDzPDu5mQ6Gc5OUw6vmLn6aTGAGgOSKFjwDzg0G0LhMbyvMN0G764PuF2r76K9YSSANy1Cm+wlOEAAhlPuoSrkXbVVFZy0WtFfo80NHfqFcyewyvrddYMWfVX7DxG2YveSZ/n3NNf/jM3e41Ke1HFqtQ7Qepz7ndvFLVK+fAJoCPPjt50/xtCediYvYZOQYjZCNy5QWdnEyYO1DFtHTg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zFpLXyPV6xqGwUwLv+UYBIaQiapKf/hfk3zfnmHGJCQ=; b=VWwwhjDnKe22nrFY2tNcxOMFwOr6Dx51iadAFVFS0MPMbHeQUE4Wrp/aaWod7qMcANxLQFtWZ04J06nqL195V4DFQ6oYSjRtnvZsBITyLT9B3NeMLQnTY76RkqMamtmrNIShNP+yQPAK01f2jiB87+mi6Gdx4WF0LANAl3Ofvo4A+7HVEoPCr9WwkRTsZvWl9fN5iEqo7VQk4lbkHUkuTq5cMui7tknz9SZzuUL/mG9tQHc7Gkse4X7QBJWaKwX7UMn2IC9xtq2lymoU93xAo1zhRpuSz65p3McMdHQJA89wz2H1l6tm3mKWS+nalhQcRMBPvS70FQjm+fTThFMW4g== Received: from LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) by CY8PR12MB8194.namprd12.prod.outlook.com (2603:10b6:930:76::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.24; Fri, 20 Jan 2023 13:45:03 +0000 Received: from LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::f8b0:df13:5f8d:12a]) by LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::f8b0:df13:5f8d:12a%9]) with mapi id 15.20.6002.013; Fri, 20 Jan 2023 13:45:03 +0000 Date: Fri, 20 Jan 2023 09:45:02 -0400 From: Jason Gunthorpe To: Mike Rapoport Cc: Alistair Popple , John Hubbard , linux-mm@kvack.org Subject: Re: [PATCH 5/8] mm/gup: add FOLL_UNLOCK Message-ID: References: <0-v1-dd94f8f0d5ad+716-gup_tidy_jgg@nvidia.com> <5-v1-dd94f8f0d5ad+716-gup_tidy_jgg@nvidia.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: BLAPR05CA0041.namprd05.prod.outlook.com (2603:10b6:208:335::24) To LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV2PR12MB5869:EE_|CY8PR12MB8194:EE_ X-MS-Office365-Filtering-Correlation-Id: e53b1d0f-6a74-46f8-c499-08dafaec8865 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: r604ynlY8yueIiOyzujEofulksa+/Tblf+E1lqaqaFqu3YqhgWvJRepMdpQrSpJkFjS1d/J3IedOGmPqbDWv5NE589CLqm6wKGNpyTzxzMAJj0F3/oWbOoAmoNQeo4zYyDH1rNHBybvYTUsYXcufL2X3zUsnfbOfY3IzY303KBiBznTe5C2l60Jz+xqrYOg7Mf16WrsYKQjdTWorf0fbRtWTKVAWPkbEea5PSD7iqX6fxEcYxFs+yJ9kZfSYjdocaPgwxRHEzA4DEMzkB5VGMOpg0b71QIydN1jnJxtrlFd4KviPfrLYCnxuTRskXHBDTDlLRgp/P6ye/9/BPPj1BqjYKF33fLPIhRaaYq9XXHOMWEsRaJBUIDguAyzUQSyBrvmnzm11p7t2axwU5HnJhvwicB1Kis4HgqcVcSUVGilIF6cAapYQU3ik9svhC9nzm2qmu8xBtBnSCg/vwoozffjQLt4ja7T3vqd39Ls56iS+6QISn5j2Wz9MysXnKQYlheuBNKsSVml1MiZNYkXoUu2Lj7FA5q6tdkcCpSkXsXwVFkHhIbCF8QECR2aSYWeuFW14zTEnoI1lIyGU0+2jGPNifZcx5AlTKF1FD9KP3mQuIIZpd/bB3BJAwrfM8G+DPFieQOgFWSeWrN5heF0TMaIrQMQKCy6lJmI1WkH2C1xhosWV3TojFYe9e6Uq3AEo X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV2PR12MB5869.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(376002)(39860400002)(346002)(366004)(136003)(451199015)(66556008)(316002)(38100700002)(66476007)(8936002)(2906002)(66946007)(5660300002)(8676002)(41300700001)(6916009)(6512007)(2616005)(26005)(83380400001)(186003)(54906003)(4326008)(478600001)(6486002)(36756003)(86362001)(6506007)(67856001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?TXym7b6OgnSVt5WIE4BoIt7cNL6tSU3mgYuKQpt+z6SZ/xxS2XjRDAgp5Vxu?= =?us-ascii?Q?sSmUERCDw1CCkMBPShTlyPZVoo0zMUBia6KODTGhK54NcKGsNyKqEemsItlQ?= =?us-ascii?Q?onPcPXKCSQ/pAlStuAjqiTq/cp2lASwIGBWONttJOsIYKQVZmAwI72+bBeSL?= =?us-ascii?Q?SX3Wtx0WSsu7LMGxJTNQfInFSBuDPLJduwbc7QLmXMfKru2xgMPV2dT8fagi?= =?us-ascii?Q?A6s85fOdygiEPKA5iwKxtD5SCVDL5+iSpNz7Y5x4mnIwajhIlmwbkZm8t/ZT?= =?us-ascii?Q?5189vYUAJXUU2XlB2wZs7zG44C2BZk+AqIQfiZcXeti2m4vBjlDoBdiChaPz?= =?us-ascii?Q?IUw/w0wX7Rn34b9Mg8jm3O0K98ebeiEfZZZrAbwzIWFl+LzhlreA9FOo01x7?= =?us-ascii?Q?ZmonopPvTiHwH+Q/GYnnR7ruy15/Q1WLZopqqjlQRmXGQbCpu3wRpYMwr0R5?= =?us-ascii?Q?rMFyw9J7LgiWrwRsFSVD2mhoMmShb4JospWbI1yR/n0qUJWy5OpXrejLAYGe?= =?us-ascii?Q?BQxDvwlwoklhWAF3orRopUxgAH8ZkSJuIJizaLsuRb4FOFG7YVxybXsIAkY6?= =?us-ascii?Q?9e4JP1EEnApMc92cBbnK8lbNkkafHGPhIfqUCJNl4RzMkKzN28jwNAQ+FGiX?= =?us-ascii?Q?A1P67aYvRmEiL6F6gJSLJLVT4mt0sGusMCoddP8MIr0HiBqWOUpL7bZDXQ33?= =?us-ascii?Q?f+D+DqEJqW3vcHJcjr4/ZWTnx+Te05RG6+tHRbwmm84O1CuJ5oNWA8tcN+j+?= =?us-ascii?Q?6TqkMK6YdbbSevR9lp4MbAiREYU+dP0W9u4R4NmdkulDlQ2lRiBAITp9NTrm?= =?us-ascii?Q?/dVu0mj/pvZoe1wk6hOmldCVafTUmWO6Q1TI0wXgtfkAMiQOwoFbPseYBfkv?= =?us-ascii?Q?lohzOCLruQKegPcM5MrL5TpDWxG57F5QEno56HeocFLHKoW2ACia8hgrr4ED?= =?us-ascii?Q?D3P6JiYNdy8PUuRADyezBGfFBzQkgg0bBolQIz95MA5UDvoISHi1XmuSsnt3?= =?us-ascii?Q?d09W1YMLVDFwAOLMk7dGz5eTqKgnhHUg94ByKSceH5bt/jzycKxyLI8KTNLj?= =?us-ascii?Q?K5+4yjPQ3A+uPHOvmVeTa5At+x+1umy+j3yLGcUNL7QW6kNQWki+V6jxmqoW?= =?us-ascii?Q?VqeVcpR+BXTf10tNeoVyW8d6PN0A/NLDbFIhr3mCkO2QopIl2TGbPP0XCZ6r?= =?us-ascii?Q?pctybDyk3QCbl57DUAT51roAvi3iCYaRp/1Qgcjz0uPuDY5jqWtY3SmbSg6/?= =?us-ascii?Q?aCTqlWmDpQWH7XGLtfdRhTc9dWrFrj+TfbhUgbnZApWPtSTI8C+aWe55My6K?= =?us-ascii?Q?Tu95m7sjhx/Dh8ExeV7RHxJhTMB55ovBwlm+TpA+oqVd5/PhutAvG0/sd7pN?= =?us-ascii?Q?yU0CR5s5ThrK9W8LObs9tA8PdMX3UKbNjb5BaDbj34tZrfpptnu/jnObako4?= =?us-ascii?Q?SGHNHCTa+zeOp66SsUwgM3OZ5h0w5YzIqQXkdalpzDNz/LNekW7ouyZXuIlR?= =?us-ascii?Q?X+YZUx4LxNC4j6hapKt17yH4MMg9ca0B0nXOyRL9/k4L+EHkHJNj7KitQ9/5?= =?us-ascii?Q?SCmFNiXPGG9DiIbGiow/bCAE/RS3Yf15y7qytWEy?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: e53b1d0f-6a74-46f8-c499-08dafaec8865 X-MS-Exchange-CrossTenant-AuthSource: LV2PR12MB5869.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2023 13:45:03.5505 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: jsOv4+u45UyRbDz5LWOKpZ/UCVMWzTM0eH01x6nN8ngKWXZGSODBs5jAf767/9PF X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB8194 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 14C1518000F X-Rspam-User: X-Stat-Signature: fhw7q3n937fydnzcqozdt5zjp9k75mmz X-HE-Tag: 1674222305-218109 X-HE-Meta: U2FsdGVkX1/nxPIOhcgdhJMPl2+SlABgD9I3itYj9m/nOhoQ7y2efRxKyMRca/UZDySxWJdt2dFVWiCxdk96DZPS6xaxgoEYhyK1MyBN96BxTCU3HcyuasEEjKXJY14xFXNule2/iZbwl+Foo6Da0HbsuIfXdq2tSJmZHTgIi93i6zk4osMV4KQY82+V+VaS7Do0RbrjtuNzpJVJe3hmDwNnj80F8mKNLCDhhLHBaW8EirvK9W0gn8CnQrdkBz+CW7GLL2m0ARN3AdhVlDK9zd3Bgp6uEfzUz9LIreQ8Zh0IgA3EmvR3+BrLdEbeIDt/f2K6H1b4Ynbxf+AVoDC6tEbAevX1X2vPpTdj1HK56eTtLqbOXmcUqUYv07xPwblDLQv2zW/YxdHAIaNboj72pc94QNKnbjh5JXkm0OguFJTxgNWEbLhp/0BKXSgtnkwC2ZdESkgaxL3ykrvf5h8Veg4jjsZD5qQzeSDlA5AitvJnJkoSIAHFsAiOuZEXRi2mVGATKwiywJ3U2jwgh86nU9f8ng4htprfTYBiZ6/eEXTEl+rJ1voXuG1+Qkchfr1iEmb0FOZbeZ+UATcEbkKu55kZLEzLbVESO4Sg+hY148Lu2d0pFwfCQei0SqLlagIU/Q845Y9GNlS7MauP1vEG0hr4ja2C9/OUBl/7N9/qJ8tooLHKcb1YMscdbcGFm0Vw78eLqRek7BuLjpUp3LoVZOA5WqNoA5+qw7ixobuNSr/jScfhNBiz+IrvZUzk1De75yd7TR0QE3hcaM4Y8mffKBC9Mi495ckyYsRUoUOj3NeefYJHHdrrJesAsU0FOMySYR80XjquLH1OZnMXWLYUzE1S+KnS5k0qOt7SsiC/F1sWiFaPD/zt87LrqJ/aY3rbbGirsvqpwZGO0/7F+IFTAVFKZU9YOVhI3YHLdV8TIUZOXKTanTBNF93A0nohN4n12sdTwHVj30tDKhkG8A4 ngLseGGK CunEEHqHjDxhJnRoLoxKk5inGn+ghzY/ndy713seen5w4Et4b0MashIVbE7k3+KUGLK9vJ/kHw7EPj7HJSn8QG+iB9FBFN7ee7Ny8gxNY2RMhQiHrBx/52ChvgWaVLXF7UMxUu2igyvglMyxdjCdDV8r/fLDEebPbL8VLUtJmGczKtCebSRT3M77ZrxdZIsKgeNYkrtFxOgEOB8DXO7laRPoacCCYmlDlOkJaAOkzNRzkG7R8oxUlkFsGOWfkD+U9eISK9UJwlr5aToxBeGK5985YnBQzHdZZrou8NgxgDqZR5+A= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Thu, Jan 19, 2023 at 01:18:08PM +0200, Mike Rapoport wrote: > On Tue, Jan 17, 2023 at 11:58:36AM -0400, Jason Gunthorpe wrote: > > Setting FOLL_UNLOCK allows GUP to lock/unlock the mmap lock on its own. It > > is a more explicit replacement for locked != NULL. This clears the way for > > passing in locked = 1, without intending that the lock can be unlocked. > > > > Set the flag in all cases where it is used, eg locked is present in the > > external interface or locked is used internally with locked = 0. > > > > Signed-off-by: Jason Gunthorpe > > --- > > include/linux/mm.h | 1 + > > mm/gup.c | 31 +++++++++++++++++++------------ > > 2 files changed, 20 insertions(+), 12 deletions(-) > > > > diff --git a/include/linux/mm.h b/include/linux/mm.h > > index f3f196e4d66d6f..7496a5c8acede1 100644 > > --- a/include/linux/mm.h > > +++ b/include/linux/mm.h > > @@ -3089,6 +3089,7 @@ struct page *follow_page(struct vm_area_struct *vma, unsigned long address, > > #define FOLL_FAST_ONLY 0x80000 /* gup_fast: prevent fall-back to slow gup */ > > #define FOLL_PCI_P2PDMA 0x100000 /* allow returning PCI P2PDMA pages */ > > #define FOLL_INTERRUPTIBLE 0x200000 /* allow interrupts from generic signals */ > > +#define FOLL_UNLOCK 0x400000 /* allow unlocking the mmap lock */ > > Please add a comment that this is an internal flag. #define FOLL_UNLOCK 0x400000 /* allow unlocking the mmap lock (internal only) */ OK? Jason