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 13EC8C433FE for ; Fri, 18 Nov 2022 20:00:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 682468E0001; Fri, 18 Nov 2022 15:00:41 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 6320A6B0072; Fri, 18 Nov 2022 15:00:41 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4D29D8E0001; Fri, 18 Nov 2022 15:00:41 -0500 (EST) 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 3A4896B0071 for ; Fri, 18 Nov 2022 15:00:41 -0500 (EST) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 033E5C020D for ; Fri, 18 Nov 2022 20:00:40 +0000 (UTC) X-FDA: 80147630682.15.F9DB99B Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2073.outbound.protection.outlook.com [40.107.244.73]) by imf06.hostedemail.com (Postfix) with ESMTP id 1F7E6180007 for ; Fri, 18 Nov 2022 20:00:38 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Qr1ztM3gCHu1OkwxShyvVNQl8o91ltO40YRQBR3bVoENUNMajS6AFyfwH9HUdCRQVDamRskdF57Lb+LOiK7yH6aQnc32Kb/xw4nNjSlBnKvZ4+TtJRlldQYq7URHCIduAwm22Tiio6HFEWq5xfwXY7ZYZJoxlcq5SbfjGpO70A+FuRFjq/34gH4n0M0BiPtjSRPRoeM1qeCSDKxMqOzXozF9kQUKMnOZKgDvvV/rAMChIXZ2e+bGz3I+GDUVaF+j70V5mcJL6AF0asW2OB0e2VXQu5pDY6cmc7NzuqLxaRCBru7SGFSvvMLbA9y/l0o/wPzn68fy0V1VzbNOfoNb+g== 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=ph24qMEEMEy6EM5sFFZNiMgyFp5PC3Qrp+b146YGt38=; b=OhE65J3STk5pQaGTZ7nPwG7UiI7S0oifjQuUnz5LHHSD8TxIFPcuZRlSbLKQL+bbwbib8uTakcfu89ATzG/DxI5poQYkmxCzWRKq3NYLrky3n3+5Oud0a4ToZSuor3MnvaJDNFYW0xsdh05jYyw98l6ITudggpLe6pVC05erNkWDA6bqFwYR5Ft3hEzkaJQXgHCIA9h0S1KGs2D/3RUkK3OEnwCq75GhdwlVU+rbkXriKqEowUIQMtpokN5ykDwlG7pt9xrFaz89zeCbZWlAi3iS/fHlthiRnkY1v/Z0CVpFfCsDMmkGwdxtuqdBO5zngRw/fKeFCodhU6NlL7IqJg== 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=ph24qMEEMEy6EM5sFFZNiMgyFp5PC3Qrp+b146YGt38=; b=ZaG5tziQ6/Y/d0knCpRMfUDImbrocpxlLR6uLLRtKCx9IrgJtk6tFP2YnRM6I1DRR3buJKTCbUQQWR5UsOj/0AKxsjHkXcKZANLML6PNAAbWtD9az30H20xvQ5sK6jdVTVOY7NRVkQRpCO6LgHPYCrOqe5nWFRwFdlbLyr/naGky6qV+iGGiZTiiQQyIvU12F8HQRav4TCC+FECf/K+bgtZHzX23DX4NNCKyLIoi/PH2f5WpO2iMQlL7un8Oh5nBtZ0o5BGbCC2RsqZf6Pah7GFe8iCqhygUO5TJQPLPTRNw/52QcozuDj1ufWBWWkgtYlK3XDL9aW6C3Ec7u86NhQ== Received: from LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) by IA1PR12MB8077.namprd12.prod.outlook.com (2603:10b6:208:3f4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5791.27; Fri, 18 Nov 2022 20:00:35 +0000 Received: from LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::f8b0:df13:5f8d:12a]) by LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::f8b0:df13:5f8d:12a%7]) with mapi id 15.20.5813.017; Fri, 18 Nov 2022 20:00:35 +0000 Date: Fri, 18 Nov 2022 16:00:33 -0400 From: Jason Gunthorpe To: John Hubbard Cc: Andrew Morton , linux-mm@kvack.org, Alistair Popple Subject: Re: [PATCH] mm/gup: Remove the restriction on locked with FOLL_LONGTERM Message-ID: References: <0-v1-b9ae39aa8884+14dbb-gup_longterm_locked_jgg@nvidia.com> <5c5f2c34-05d7-7e64-e368-0f240ef15eeb@nvidia.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5c5f2c34-05d7-7e64-e368-0f240ef15eeb@nvidia.com> X-ClientProxiedBy: BL1PR13CA0243.namprd13.prod.outlook.com (2603:10b6:208:2ba::8) To LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV2PR12MB5869:EE_|IA1PR12MB8077:EE_ X-MS-Office365-Filtering-Correlation-Id: 3b8a712a-cf0e-47d7-455d-08dac99f8e2a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: MvEf+5PkK4wQs0lj3BqKUCWAc8k8/XUp1G3r4iUCH9evjJdZLYq8wuR5Td27Of2CCKMpmqcfa0iQhZVEyNr8ZMdIU3j5xwxZc7eLRTkRsKHG3lWYaVcu+jncjosqaol4+G9LlE9Kaz4RwYj82eO6bzP9Dqer5O2nai8e7tsbdNrFOFcBHFW14JNNUWEHlnKy5YEt/ZX8ijFz+4epu9C3hX8Ir7b5rp772vQOmXF853xVsuDh/1oeoVuwrwPX+a8FYb5w3+CGyMvCJ/dhq/rTKnCM7g0w38dwOOZLDReNsDOtlkh8bqG19V404uGPV0DYe2gEkrvnOD5U6l4LbpRyqfNpkXPJJ2cck7n5NREvZ8uYtHYiHnMQtBRL/EIOJ1aDVjaYk3ZMRS2o6EUnqED+ejhgE+DGtgwTpxkgudmqYinahfeVlwQiVbwzjlUEfxRD0iME0TesNA28NHqLn6qX+QltLlIkv1UjZXqz75YCDYKmn1rTlzBaV+8xDRJmt4zbnTwuaSLYbxt8gEHG9ON+pIb6poYyKferhqnz3kwS9GFxVvM1WR7CRSo+OxgGCKBPbZuikgGa41zaTZGqp+o81ibsYYbkmMBODaYXDYaz7N+ls2eX/mlx8EKionRUJGB2kaDtGxkoD0lMPwGobx1JBVpeueolbbxRjsPkkLwckfBgk4UeRi8CC+HmJaLZbD/GM/PljFRktBJLgwvvTfp7EA== 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)(376002)(346002)(396003)(366004)(136003)(451199015)(6862004)(83380400001)(38100700002)(41300700001)(5660300002)(8936002)(186003)(2616005)(86362001)(478600001)(6486002)(36756003)(6512007)(26005)(4326008)(107886003)(8676002)(316002)(6636002)(54906003)(2906002)(37006003)(966005)(6506007)(53546011)(66946007)(66556008)(66476007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?sneFyzktZRcpqjgZmGc68QVIeKeJruT/z2estFVkXLB2M3te81Uqa+HdQMH+?= =?us-ascii?Q?x9KcBSBHJOLH6ia2lZEO3sfXybKfA2Nv/41tUuB1YlyRInV11HWUTIBBL0dg?= =?us-ascii?Q?Q53+fcNXtCquT/5tMCVXbtnhsTz+i9OUJxvR8ctWYA8en8omvp1eRQxqluo7?= =?us-ascii?Q?VHmthwRSrsCXoyHGdziju5mXQF1ofn53abiDDHjmghr/E4IdxSKnBuUq7Edf?= =?us-ascii?Q?4w51LYUrGGN3UZPRAouvk+oPz4ngisRSLWrgOMWMsBRGCT7faOwrN+PEYqsD?= =?us-ascii?Q?wUtPglQjkJY71cCwaJjnwNwPbzv3Jj5IK1K4St97C0MQoiZ+nIhxYhEFCRQa?= =?us-ascii?Q?i2wN+Aq2mMgLJP+HkJAjFs3fqqHrRnm65jVY/hA/WCGiSzSkL+WTSegdAguJ?= =?us-ascii?Q?lvuMFMUu4PDfHZaC9unXeKSak6Mht5fPnUXoT79t6ESfnMAjGNDUlmnqPWeL?= =?us-ascii?Q?jQ/DCkUzjzSMjCh4O8zuekNRH1vzO1C7bHp/ps65ogXxEyEGSiI6idvBpb9d?= =?us-ascii?Q?IeCMm1turMla7/jQImmTa6crp4vVcZe8V3qSnqzJ1kBKypDYpxRB0fuDvXc+?= =?us-ascii?Q?WkdQzymfaEMhsyZQuAVxnqin9TKbPsk3NCiZyRbW9TmR+JV9XnzBnwqzNQYW?= =?us-ascii?Q?WGGjlhK+KizYck04oG4xyFkRvZ0QX6KDZ96BBWudTbW7pu3h3IK/Xwao8cG/?= =?us-ascii?Q?vtKmljQJeyHJrcHw+kOZMqW5+xc0Q2bWgfeosGlbTZ+x9HKgG35yOqSz7Kzv?= =?us-ascii?Q?80375JQnx4mYybCk+DyUiqvDCknIWdAkpZ+6SjjPdxz8LApm6TMy/P5QHX/A?= =?us-ascii?Q?Or96X32bRpwddrfGT50cthVfCYmI6bff/GNcSWfP/5vxVOg4Ki5GMpJUm3L+?= =?us-ascii?Q?uj/tmGgfSOVUzmZx5yWF8T0CPqSPDNHSYIiZ5GCUyvczrrvDm2CXr26Hlrd5?= =?us-ascii?Q?Q8VbZL7oCbq2Y9O59TxzJygXzVQ8UGlfy3F6RRJSTS8srrnp3yIDpnvq5z+V?= =?us-ascii?Q?ofuRT4APQe5oNgb9Un7j9gxz3KiIdyi54ZiwzhrKHIfSCo6C1LvAZceHduNG?= =?us-ascii?Q?MpsHKYi1PN87ZqTDz/qFwdvnc0g8FXNYmoY77mmx/uMQKeQTRctV9f5MEQe8?= =?us-ascii?Q?64cpE0yP70eyHI7e+jXQcJ5t6QWQjB2JAMgC9uP2PvltlL6f/9x4Wzvgi2b8?= =?us-ascii?Q?M8fko+mTL6hV/a1i5qFVyCJYePbzY3pNdhYRHmR8h0mIGMcaSjubdjUodotn?= =?us-ascii?Q?EYDhX4GWQQgWMcsflDN2GJjKDe2FQ9ioX7qXOFDy6zPDnpL3vB4u22xmN44E?= =?us-ascii?Q?80VE1v2FTBuagTQTy33nwqgvS4bDm6JML7N5hTk/2rAfX9pgjkALrKXkh1cJ?= =?us-ascii?Q?037oWOZhN5uJUNQ4pXYj9l9I5RtQLDrybt4GzLJzDmrXEzwpOUY5muvGAUhw?= =?us-ascii?Q?LktvY23PGYIae69OzHa1lr7nwTvad1IH7/x3bZFCg7ni1OzCMlWiEqGU6hUP?= =?us-ascii?Q?6vjCZ0i06CGnGY2tABGendM0T1Q2Wc2JStbfrn6BHjVNgc4RVHcHpnj4ZHJG?= =?us-ascii?Q?N5XpbJcCwOfQTAFp3Cg=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3b8a712a-cf0e-47d7-455d-08dac99f8e2a X-MS-Exchange-CrossTenant-AuthSource: LV2PR12MB5869.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Nov 2022 20:00:35.0807 (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: fwlgfIsOCp74EPbByj6vGs0jZP/wkdcrZ2sRyyyXqsrsqwYrtotnbgpre8QioFpW X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB8077 ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1668801639; a=rsa-sha256; cv=pass; b=Lyt81tgz/Xl0LQZfCoidWghpV/oLu05KH6cKVFc+9GPyCmuSuXHqvfJuaAr1uVHB+1M9Sw 0uGjV7gQCEftS19Io9r6PsTmn7zsWby3T3eUz/F6l6WEE+ww5CKbjLU/xR3Nm/t5UKuPKJ oTJtEybbyjJF+5cZJE0QDQdQSZhIajA= ARC-Authentication-Results: i=2; imf06.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=ZaG5tziQ; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf06.hostedemail.com: domain of jgg@nvidia.com designates 40.107.244.73 as permitted sender) smtp.mailfrom=jgg@nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1668801639; 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=ph24qMEEMEy6EM5sFFZNiMgyFp5PC3Qrp+b146YGt38=; b=sHK9ZNE+kIskWLZLlv+2qfPxFQ4fcwV63vumfM9oR9RHTnNKN0NpLdh/ORWvUSXtQ86gNa TK9G5pTwBFkZBWnj9XNJjWPDKKiOHENsXhbStFwHUsdjxz6x4v2MPRTqCu+rKAci1EA5KE YdMeaQBs0tPfFAzxSY7sMRf67QB+yrs= X-Stat-Signature: djkmuzzhzpnuote8pybraw8pc8n6b3y8 X-Rspamd-Queue-Id: 1F7E6180007 Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=ZaG5tziQ; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf06.hostedemail.com: domain of jgg@nvidia.com designates 40.107.244.73 as permitted sender) smtp.mailfrom=jgg@nvidia.com X-Rspam-User: X-Rspamd-Server: rspam12 X-HE-Tag: 1668801638-371310 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 Wed, Nov 16, 2022 at 02:11:04PM -0800, John Hubbard wrote: > On 11/16/22 12:07, Jason Gunthorpe wrote: > > This restriction was created because FOLL_LONGTERM used to scan the vma > > list, so it could not tolerate becoming unlocked. That was fixed in commit > > 52650c8b466b ("mm/gup: remove the vma allocation from > > gup_longterm_locked()") and the restriction on !vma was removed. > > > > However, the locked restriction remained, even though it isn't necessary > > anymore. > > > > Adjust __gup_longterm_locked() so it can handle the mmap_read_lock() > > becoming unlocked while it is looping for migration. Migration does not > > require the mmap_read_sem because it is only handling struct pages. If we > > had to unlock then ensure the whole thing returns unlocked. > > > > Remove __get_user_pages_remote() and __gup_longterm_unlocked(). These > > cases can now just directly call other functions. > > > > Signed-off-by: Jason Gunthorpe > > --- > > mm/gup.c | 109 ++++++++++++++----------------------------------------- > > 1 file changed, 27 insertions(+), 82 deletions(-) > > Looks nice. > > Even after this cleanup, gup.c is still a bit of a ball of string, what > with things like __gup_longterm_locked() actually handling > !FOLL_LONGTERM, and a bunch of other vestigial stuff, but this takes us > in the right direction. What do you think of this: https://github.com/jgunthorpe/linux/commits/gup Jason