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 A2DEBC05027 for ; Mon, 23 Jan 2023 17:58:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2C9536B007B; Mon, 23 Jan 2023 12:58:56 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 276BF6B0080; Mon, 23 Jan 2023 12:58:56 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0F1F56B0089; Mon, 23 Jan 2023 12:58:56 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 001696B007B for ; Mon, 23 Jan 2023 12:58:55 -0500 (EST) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 9DDA41A370C for ; Mon, 23 Jan 2023 17:58:55 +0000 (UTC) X-FDA: 80386824630.17.32523CC Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2087.outbound.protection.outlook.com [40.107.244.87]) by imf22.hostedemail.com (Postfix) with ESMTP id 9CA31C0010 for ; Mon, 23 Jan 2023 17:58:52 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=JoHiAc6j; spf=pass (imf22.hostedemail.com: domain of jgg@nvidia.com designates 40.107.244.87 as permitted sender) smtp.mailfrom=jgg@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); 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=1674496732; 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=8JAA55F7J41Q182psi+b8gYe03uSC2cJl+ijLlA5Ag4=; b=al9Zaoo3kcavA606w+4ELNLQsFGLhjBTPwCW/qjRSxN7WBSwc83/BOeYgUEIkNWZKTN6qI bbjhbPHey0rRSEmy1GHvbk+gp/MgAQFJEWrLoG/PE7fHE84JyeW4Cn/NYDZse+FFIZ53kk 8H/7d44rbN0Ghh8KVSxrHRMyHnM0wWs= ARC-Authentication-Results: i=2; imf22.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=JoHiAc6j; spf=pass (imf22.hostedemail.com: domain of jgg@nvidia.com designates 40.107.244.87 as permitted sender) smtp.mailfrom=jgg@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=reject) header.from=nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1674496732; a=rsa-sha256; cv=pass; b=BiZuImU7TFcL1QiNkhIDkRb1kkNxrvcjqhU7rEimATTAnEvPq76RqTZqKRGPd/BqGtW0Pr aO+ByrbVBF/DNOn3a672nEtwMp5UDwOcSELwTBSa2DvhdMzcGRH+d3Hg05izn0A7oxBoVc NyEnkc4MwJ9jL4qr54q14bayOltIBXY= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ny168DArCYZ3y59zmiKKdNLqB5MkCoYvatJ1AwF+qUS5GMIFi7peNoEK5W0FkTlCr/B25Nk3FgmnONHqQHgl1qwfyLds29iZHL9StIl7ahTsdatQl+sz1tIPE8Z3INyMUcjteaCCMWjftBwHhYywiZ9R9PJE/l8T127ehvVX317SHk3PXaOjEgryHAzKSgtkHLFox9IlHPla/3Kdfo+GzZpMi5+RBXxtkyO5A7UFn1sinYoFaShUX50PEVipXxgfnO7yi00zdTJNAotavjkGFEht6mC8oYtN0g0YajmtVQnGBAwrhLTQOdtQdl4iS86KCQwMm13DGC3otB35QtHmHg== 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=8JAA55F7J41Q182psi+b8gYe03uSC2cJl+ijLlA5Ag4=; b=TIUZ0edK3fLyeLZHb16350sQY1V/6a4XX3EJUtM+CbEKAdMMRmnq0DS9CvdaDkv6Kc+zuf/emVYOwD6ZRRLYAp0Bg66uVj/3PGKQb9cDcBaIagu76p8X5tfw22yHrz/Y5/+SSuorDGbl3yKE3nCtVaJNysVta40YNbeN7Brt64yfGkql3CN5uCtT7br+AkZ2kWnQGr+nzmy5ltgPpRawsdFwiRozIvKjHi1SJpgTLOPnvdfoNsHO5GPPoT7nUrjjRMaME+g1hM/vBxhKWCRYaz9eJ5fC5SyEmWS4eN4LAeG9wmVBVgNdgy8Eq6Wa7Wp2pgskRN6EPuZ+QBdY2Og6iw== 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=8JAA55F7J41Q182psi+b8gYe03uSC2cJl+ijLlA5Ag4=; b=JoHiAc6jnLyRjdSb56zD64RF2ZsQ4n9/PPnvnCHV0CbIMgU5ys4tGbgVZdq5M5WFBY3hFVtRfOyq5cvLgsbnzboUopIGBPn/zrv185QSdF6SCXJP0rtEX5QB5sj6t9DS1rHDV7uT0WTZVmqj/N/4tpk7/AHS5B+r4+kbQDENPTnPfUVoolsfLyQ820Jjb4mYRlEhW6tG8VCAEkobgkqG5iaCSMtNEOMtgmssuQ+KSxCZ1o14506CtBsDEiag1EL3u3Rc22HZdvfqRRwKRLH7Wz/ySvLdcmPBLzTGhwBwYWg1YpVqSJCSFEl4uW3eTo6i4LDLrbTc3oMKYfNw6sNDJQ== Received: from LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) by BY5PR12MB4917.namprd12.prod.outlook.com (2603:10b6:a03:1d1::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.33; Mon, 23 Jan 2023 17:58:48 +0000 Received: from LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::3cb3:2fce:5c8f:82ee]) by LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::3cb3:2fce:5c8f:82ee%4]) with mapi id 15.20.6002.033; Mon, 23 Jan 2023 17:58:48 +0000 Date: Mon, 23 Jan 2023 13:58:46 -0400 From: Jason Gunthorpe To: David Hildenbrand Cc: Alistair Popple , John Hubbard , linux-mm@kvack.org Subject: Re: [PATCH 5/8] mm/gup: add FOLL_UNLOCK Message-ID: References: <5-v1-dd94f8f0d5ad+716-gup_tidy_jgg@nvidia.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: BL1PR13CA0175.namprd13.prod.outlook.com (2603:10b6:208:2bd::30) To LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV2PR12MB5869:EE_|BY5PR12MB4917:EE_ X-MS-Office365-Filtering-Correlation-Id: 2375ec87-8aa0-4534-08e1-08dafd6b7a24 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 7aS5MQHspTaQ1844NIIIHu2Mg/xpAE3paHh1x9GAn4caF0prfhBBOv/ucT+qhevv9LtfNmNGCQS6olagKvTU+47ehOKW5wC7MnnrowSAMHOkH2t92Cw0OuW/rJrAtNBokjpTAdkwibEG8atmU+qS0HN6PksK4N4pGP09oYDrZb+vpEBFAfqYOkw6LJGpzN+0xByrKEDlUsa46uHY1x3UQupuQK8edf3yLyz8e4kxgg6oVLfeTlF2yNJsL1gDoue3md6vWDv35NVC2HXR0COay/rTi4IGlc0AvOgbQt3CBhqp6/BX7opziql+826oQCiY2w1aBLDAMd5kGEhfWoTVkUACyRoc+yTRii7E+6nDace2Xm6tCHIS5ZROM+9EQstru6w+NilmWzv5cPo1iu9s76IFnc46fIunKjX+yiyzoDTexBuqjQ8UOLCl9TPVORlk5oKy9pWGIhNEAbxXYH2NKwvybQ7/flmuUBUJU8ZPi6vZSTZSE0+VXLITbLfxoWmOnqZJH6mbgcxXLskU7yChujD9pfbEp3dm8Gxdx9KJPB04iZPUvAFwDlkziWIZeyYCsmxwqYlZLZOBHTjH/n7/SdghWnabHehK11cOpuzkomJRq6pbyJmLvGXIhXORFCYForbEknY2xkb4UvfTUw5vOw== 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)(39860400002)(136003)(376002)(346002)(396003)(366004)(451199015)(36756003)(41300700001)(86362001)(5660300002)(8936002)(4326008)(2906002)(83380400001)(38100700002)(478600001)(6486002)(26005)(8676002)(6916009)(53546011)(6506007)(186003)(6512007)(316002)(2616005)(66946007)(54906003)(66476007)(66556008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?HEMNjdJV8nDttYCQ8fIyXYuk7HiJsJokE/1rvMlnJO0rihWjzwQ8QdoSkP9I?= =?us-ascii?Q?SnmsFnTsupeE1yBaDpi9LZmwQk6qntsNvBJb8NyMFUHBS1j/+hTuzhkEQPKH?= =?us-ascii?Q?yS5NQle6Lq0LLk3jB9gjQZzmqfklPQxKcVSxN5UqR6JsNZY/YHleYPg5Q6/H?= =?us-ascii?Q?rSGfOArvwnzWAaeH3hOhlPssbbimZxdf18XJqX5fXxQUd6o+qwD+VoWBkV+P?= =?us-ascii?Q?OJGNTY6F+ELkd1AHbVGxIEPY21YBWEOoZEHd16u34e/Y6wPtohvu+fVvtapj?= =?us-ascii?Q?Cq03rbeU9pOm77mlz4nv23Kp7QOt1fczCY/qguXYixnaHnCPtWQsharmTp5I?= =?us-ascii?Q?m/6f5jYqztjj3oHjdeUHeXE3o9lmgyNVat+Z2BxhGpXQZqojnx9wXfhLDkNq?= =?us-ascii?Q?MejtXVwLPeD7fIb+nHJhlN8Ti/uuQxnjTJuR5uBM/vH90X4eM9g7N+lDz2D7?= =?us-ascii?Q?3e3oecC2mAnGmxTkoA+wAR8KBufQE7IUUvCO9zhpj7JCKCVSStKPAZJw3P5Q?= =?us-ascii?Q?sjHZtA7psNL4jUldxvDtGn5jJWr/uAmG67tmg/Z+pDGOhOP6z5qP9TZwObxW?= =?us-ascii?Q?yizwfqNVr6Xax1nC6VQiq2xUVKvdeUkLSP4LvSNwlbw3LMzfNJST/A4GT++4?= =?us-ascii?Q?VB/FolmvNp0xDZ51z4tHDgV3QUBoi+EcpSLSerxgbXBtU4DRCcKbVPfalhbm?= =?us-ascii?Q?40kmMGrouAggMDSav6bJiZ3uWpSv3wOqqR0Zc17XEaPr7g06WZLvmFVdkM/f?= =?us-ascii?Q?/STfXTpR3vYEzub+8rIFpkxtjXwkY+PUtmI901mtEK7yEKMi1ALIGTkI+WcD?= =?us-ascii?Q?XlQLd/Vk/6m8r0G3HEDuh5Ri9FiNXw+5voARoiOPq7kdbEWpRe/uy6OUCAdF?= =?us-ascii?Q?9YxAUU8iPcfCcaS9OefGK5rhKEg+QY5TtBBjL/bfhkSlf7LJEAWtn2crepQ1?= =?us-ascii?Q?cHPI20R92uX4/cq6gLxr7G/yKgZdqTnNrAJP70Z96dpKzXSnqeW3Dbz+lmFn?= =?us-ascii?Q?bNys6orIZs95ewyps3Fr7T2HD5bpn1kTNld/lDZNY1JeW2u9tmLf05rgk3b8?= =?us-ascii?Q?H7o2DoeBUVSra2/ps6ph7m6ig7sNWySPZWbl3G+ugqprbQIPdkSvlS/X2+iL?= =?us-ascii?Q?goWkZ3qO/2uVGBKlvaRLPScUGQX4HX+YGjyg3oTBRKpjA54W5LUGkgYNGPua?= =?us-ascii?Q?Pi1Ny8jYDqsqMFLhjzFCddThpDx5IAcdQcW+vz0nGZslGxYd7Om9BSFPlfrc?= =?us-ascii?Q?Kd3vIGc5x6itzVuTmHbSG4ID+V8D8DTp/j4vySVAhLaBvIAAM2vdCe2op8jR?= =?us-ascii?Q?bEL0CGstnQh0SwpO2iH3gdk6rWhGQhVuLkAva51zPYgsim9GSqbA8qceAlAD?= =?us-ascii?Q?mDqAvprbkpMMh+L82qo3cUnDYi7qfPB9skjNE3t9c++/a/ntojOQnQIQF99S?= =?us-ascii?Q?HhrMaCdPVCceD+BN70R0lXEfBhwqGylsiop/LAxWI+BwerU1n+BVR51bTqeh?= =?us-ascii?Q?K8S0oB9FvjZxHOVepJHK4C40GWI8I2Y4fJcDv+KoN8w0RQuzLssBYgEaciBA?= =?us-ascii?Q?WWy4i71UG5TVFnojMI/UEAelYF0u9CcbaJB45AS3?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2375ec87-8aa0-4534-08e1-08dafd6b7a24 X-MS-Exchange-CrossTenant-AuthSource: LV2PR12MB5869.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jan 2023 17:58:48.1043 (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: pw93PgHs+RAngPBNvC370XZCH+1dK7u0JhTK/dtBM6WHOTcVl6eYPClAuO6tObYf X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4917 X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 9CA31C0010 X-Stat-Signature: fyx6xegju67pw37ag8a5mgi8j8k7m71x X-HE-Tag: 1674496732-638801 X-HE-Meta: U2FsdGVkX18N89FpyNFyiX9CKlac35OEUOkcQTwCtBSCwVVYD6arQv9AKA1EIf8hMJZ66bQvNAqZdHdUmXsDpGDJIjLtkmCuO5zVZTBkOG4MWbkFvOZElltOAMyWTKueVU8am5GCholOMqc2i2LjObB0kIPNRWBjzMkooC0fDQacqGFfJnRkOF1JoHWf8JYfZ/5mkKYYHs2/tCU8GQh43jBy5khISQTLqikOVQP3hDDLBUuDIu9DddOoBZGHEalbMxGiUvTsxI6AEIu2eG82el96/esA3DcGykJSoTZWh/y3SRWygo+blp3ApD923vNzuHH3PD0g3w0uvoq1YTeffnXMZ2VlKO1x8x0XkZzjkcjidCMj7Qlw+O7vTNAmSFDNSipPeJ+SGDqgSJ3BTHSgCxBV2IhcZRH+BM9hKzuPfHOQ5kMRwejsbbxaEElwRU5Sj+H+S/YOHFtCdpf28GaHuFqTYM2PbEidgOcV1fu6KgwYlu3ANoW3IbC+IMsXCLnnXsUTHZ4LpeBktyAIMxBK9JeMnhTPRKzmiuwIemXdttoHSua9l+VCrc4uEkuxVEiDXudoS5/dEWqYCeV5jXQp6+WMeTh+tmt0iphQFTdgZeGAireiW2vWblTdIFyoZBIaDkUhhCpeITx+yFMtfMonOQxq4UonUzrfIEm3FsQdIiU+yG3a3eFgHWGs6x1Oc1uGvOHACUz3hfdOYGmNNlGsMRIJ8E3hPkot/yT/dA0HVuBi5ZxhormKFmXV6qAd9O3TcY/M3Oc4AB3ILSUtykux9tmCmp8mcaKZqEaDofzR97UEDFTAVFVdhp0XUJ5EzPHbQySmhC0ItrP12YysYTZ/0fZD2X3PPJg9u8i7TNDUXsrmlPEkHjJfdyO37vl1LHSSpYA6928aceiKXz9VL2YllaYRRq1qA0acoAey0yrYR/3qUeVbDwKkUrFpVxK9viEZ3lO/4/DNgGB+XnRcVpQ XAAdOpq8 AJv12e1Ukx8yMZnhI9jkxTf82f1rGLeYnFi42t6ozQIKT9HOHP6Rh0Pc7Qr2xC3y3CIVO+BAJwUWF0c/HVqG2P9UiOxLAy20DTYq0pqA0jqWwhk4zcVK6kNAC2qB0E7lNJeaLLyNh3COnlifHxnM82D76cqX1ici3OQ3zd8CXGk7HMkJeLvHOfNBIeTnWbFFLrrhF267s8GX5+H+YGMwSY9xfZNsxHLTgFhypSp/e5gsGZMFO4mu4S4nzRotprocwQWwrNcrx702Nv4XaC5g4danofYO2QYKr08lyHDAjFdKEFBg= 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 Mon, Jan 23, 2023 at 12:37:17PM +0100, David Hildenbrand wrote: > On 17.01.23 16:58, 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 */ > > So it's more like "FOLL_UNLOCKABLE" ? FOLL_UNLOCK sounds like an instruction > instead. Sure, I renamed it > Not that I particularly like adding new internal FOLL flags where avoidable > :P How about, I made a patch to move all the internal FOLL_ flags into mm/internal.h ? Jason