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 C83A7C27C76 for ; Wed, 25 Jan 2023 16:38:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 36CC76B0071; Wed, 25 Jan 2023 11:38:50 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 31CB56B0072; Wed, 25 Jan 2023 11:38:50 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1BE1A6B0073; Wed, 25 Jan 2023 11:38:50 -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 0BCC76B0071 for ; Wed, 25 Jan 2023 11:38:50 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id C5D381C66CA for ; Wed, 25 Jan 2023 16:38:49 +0000 (UTC) X-FDA: 80393880378.16.8CB2EF9 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2075.outbound.protection.outlook.com [40.107.244.75]) by imf04.hostedemail.com (Postfix) with ESMTP id BFE5140023 for ; Wed, 25 Jan 2023 16:38:46 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=LrkR4Kl+; spf=pass (imf04.hostedemail.com: domain of jgg@nvidia.com designates 40.107.244.75 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=1674664727; 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=xPzPoYyS8xChIsXxU3aSkf7IylpKpJCATjZn99ZBHj0=; b=XtSnpNlBQz4urCOQ3zb2C6/Ts/ZY3KBKS8SqTWYXIvmX8OM75LSVcUI4Bk/JH/+BkphiBE qkAgDiI9p+nvAgq224S/+3rMup1/ct0KXkj4cQANpASVqdvmie59wqSzkX6uGD6HkbtSi/ X6cyQl7s/AsGlmAtGMkljmBzGPD6mZY= ARC-Authentication-Results: i=2; imf04.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=LrkR4Kl+; spf=pass (imf04.hostedemail.com: domain of jgg@nvidia.com designates 40.107.244.75 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=1674664727; a=rsa-sha256; cv=pass; b=QSRd3Xf0Tev3/IU3iFYBLKuIsJKuAs/9aL4JSg3cEyoKtBv+R4DPkHMVSis3ooIL5CNDu5 CPQNwLYvN485wRyIBT6xFdkM5NkXHRCNfLnrn4eGOCK1qumLWzoNOPkdoXP8bi5AjZFEg8 DPHcGhgN4uUhMiI1IX2Mwos93RCFZYQ= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=P8OQ03wGkxXN6KoAlkqPxfu4vxr9HbgrXhBUuYt2em7fqYUzjfSfI03JgWjhPF+wZZGL2eOI9q6e1H89L6S85UG0WOyDwwbNfwPBDA9ADul82sw5mVOPBziv4NNLV4sexIb5VdfyYVELuVBvOb+es2sfeCTkIylesDkx+NAI649OaJ9tx14wGBtKjOFfZa1Fme/ulfoqKaP62+1Ul5qk+NoGCJTFoC0M5gPcMmOLResWRl6ga4HD1qLOtslC0V+jMQxzVEH2vTrP98JsAs94k4K93hhU27K4BShatqPKjv221JNNY5uiVhhGHKPsKxU2tXYiW5RwOWZ3jqPAVQqK/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=xPzPoYyS8xChIsXxU3aSkf7IylpKpJCATjZn99ZBHj0=; b=ZqptnRhT9Y5g/9A3E0TeekdOa0gCYJDIDxAhvevmdVQdynctH+BL5tLVyG9DX3c/1KhVZ+xbFov2dPoKkMH2QX3UW4eTXbJimxJ6CHv9dhwYWuE/cdkQNJ9OMJi/xHi/rtKA1uC2sqzVPUdJK8qFBbYsCg7PRByFRBBO4mjcO/puucIwrgqekhRgBGvTBFVrD9uPJ5H7eQaFUnvtReanqHILFRzKwfGMMbmSTOxivK4nonECVzO9VfxmJvqSR6BNlIpdV21YDlCMfksgCuAwxUvzqB7GOusUCc2jv+gBOp60nvWgqkO69NKrtpIWjaUzwEGhfTGxLPGI6Ly1aVFInA== 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=xPzPoYyS8xChIsXxU3aSkf7IylpKpJCATjZn99ZBHj0=; b=LrkR4Kl+SSMuFmwovbuXPIV2cd99428VMye410NPpv2elHHIaDhCb7URxoD4LCkms9IKRPXeChCj0ia0SKMB1VBtdyyEkvTS2UtMspyFy5bH6MBmdg4ogeon9g+Zch+bDvltVtyB7EZ/hpK+xdT55KVTcS8W1oqL9hWjYGANPPHg+2hnuZrRU/qBTGcFQ12ZP3XrOKUjvGWs9utAVDFS4LIsneVwBv33+hDyuEsszYpJJKHJLviZ38pqDIzCk+//ChQuK0IS4O1ZtQKrs4+FLlkhvhIRuSgztYasFpCuWcVB0iZdS5TGYMu7gA0soJ7tuthEhd7d+P13XBTcMIweTA== Received: from LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) by SN7PR12MB7881.namprd12.prod.outlook.com (2603:10b6:806:34a::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.33; Wed, 25 Jan 2023 16:38:44 +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.6043.021; Wed, 25 Jan 2023 16:38:44 +0000 Date: Wed, 25 Jan 2023 12:38:42 -0400 From: Jason Gunthorpe To: John Hubbard Cc: Alistair Popple , David Hildenbrand , David Howells , Christoph Hellwig , linux-mm@kvack.org, "Mike Rapoport (IBM)" Subject: Re: [PATCH v2 01/13] mm/gup: have internal functions get the mmap_read_lock() Message-ID: References: <1-v2-987e91b59705+36b-gup_tidy_jgg@nvidia.com> <53ac3700-6532-a609-ceff-d0840469e532@nvidia.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <53ac3700-6532-a609-ceff-d0840469e532@nvidia.com> X-ClientProxiedBy: BL1PR13CA0004.namprd13.prod.outlook.com (2603:10b6:208:256::9) To LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV2PR12MB5869:EE_|SN7PR12MB7881:EE_ X-MS-Office365-Filtering-Correlation-Id: 3396e01a-aa71-49c9-cd1f-08dafef29f51 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: nD266V3RgA7upzHT48dnx74CtDUU9fjZbcbB/5tIxgjGyReIXJ9Nq/lFN4lp6B5hh5KNuTCZvXI67XFH4OuJU+X+LNvr6L2rnEhxgynLnTHb9RT+6tzIvJKAnsNEzCqF0VnKsjbapR4IXP0QMJC+bxIqvhMgNclFHSSbgyz8VQIidG9gX1e/wurrzLyLY7bAocyQPt5VTGtn1er5v4SMci65ngKLJ+I/unfor4crlY9j9JkmIIidHHdwUFSv/eVTOPuTfAmNZJM+EFrXz888NlIFdylj55qvSK47xEOyI5bEGQ4p9Yb7MUxHJ5khxIvz86w5NnG/FO4MZYsCT48PH5tFR4/l2rNxEC5sPh+8/otDwvBBpQWTWi0W9HX/xia/t7Uf8enioeZ5veUGe5P9Hz5qhb0/3Kz70tuuyC6S0U6ErHIkSqU+X47AWiAxCTR31RAf6LSkr2momONCXDve7dV3QDQfUmli3CXf65he72f0bKTlB7MH38Zs97n+Hg19Ln5o2kygwZoX2j8mw69rIu/6rasNVHGitPExvK7w8MncWmcYXz5UivpnAbQZCdvJDFKQNvopBrf4E73ql9mz+lRSxCuv0iO1XMpK+OStv2qsyrtFlXeZnj5u2s4z16i07pTdococ2rhIiM0GhDvHPTDj47s7q0VRFJGZuiMjKX0xPP3/z+5Y12z+OCbV/VL/EDmc6cu9aQ24CexoDydTcLDItklG6vE1fAeIhE42REE= 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:(13230025)(4636009)(346002)(376002)(136003)(396003)(366004)(39860400002)(451199018)(6862004)(2906002)(38100700002)(66946007)(36756003)(26005)(2616005)(6636002)(54906003)(37006003)(186003)(316002)(86362001)(5660300002)(53546011)(66476007)(8936002)(4326008)(66556008)(8676002)(6486002)(6512007)(6506007)(478600001)(41300700001)(83380400001)(15583001)(67856001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Fe82WGzwSHP3rDDYpDQFyCTjj7i5g2Cpw5QTiMxJ0tSUSYCMmoPmk/l56mPQ?= =?us-ascii?Q?t1VScqYTIUcU4xmpG/LEQU7nNV+GnOix57ezzr0ZMFW+tmDgCqb7att8C/c/?= =?us-ascii?Q?xhEsB8/XwHqJOmoKWLmeKpDvsQafINJnnUP2sZjamxMOX4QtnZ15SHpcyPPN?= =?us-ascii?Q?XzyI6zG8+H0wh9PxTnXRnux0VkIpcrMucSBPSIErtXn833uoYxFdxGCMAgkK?= =?us-ascii?Q?qkpEKZrTJBA7E5Y6Ff8Fwy6Fq2RLi/Dc/D81Ethcn/J3hWO7kinRlhkhkzx+?= =?us-ascii?Q?HqkwXqlhWNlZ9oBNXzRUSIuROGXUYBB7WZu0bvPl803mKewWnTRB6ZIyH88t?= =?us-ascii?Q?AsLxLZ4j/5Xeni2zMlVVlUl1Q+72BLb9UIJjxg4T6SxCMYuO8hsb09Dp/upK?= =?us-ascii?Q?PsspD5OpjLN1Bgu2Zxq3c6pSWUiAmu873rZ4cs9zRMm8nWv/RCM58o+e/SDP?= =?us-ascii?Q?HC2TID3d7562wZBJ08mRzqyXfzi1S3+Rq8N8DPaabI0s1SikbhA8cMlQhWbY?= =?us-ascii?Q?aWnxeOqK5ibhgbQbnZgqh3qH8d7owYtvDRTpodHnXlTJ+z+/Hc2n2OJAvFJD?= =?us-ascii?Q?ZvXBv4sb2Q4seIMosHDblygxQbVWg6/FHCxHih3C50eqejWzSP/A2dfaed91?= =?us-ascii?Q?2WMP5T6tL48RW/veL8l/BqqMBTWIqXSWcpacBx3vFaZj1cQVYq5vzD+Aw19P?= =?us-ascii?Q?Ct8MQAu6n+gFS+u0VYA1wr+jlRI0SilHDtG+4Hn/r4LMq0k/l7wQU+HJJ9t5?= =?us-ascii?Q?rdYgW9+SsH3qCkRNsjgH+qpPrx9fTJAAGvSclhyjxsCqtisB8ZQY2WVttGtX?= =?us-ascii?Q?w+PfA1dAx0rJmf1lJtqPkIx8HEFXuqf+bbeKGP0rEeG6aM0piZMeAkGHO+8p?= =?us-ascii?Q?HQtoMjj4KTFOw1hISFNGuWPZFIXQjRdE4nudjJ1CL84si+AiLNA7C8LPP7iY?= =?us-ascii?Q?AukApSAfv2e7P739fJWgGDXb4j8X+JZTlhwHbRGocPHXpzuObdwLA+BUwWey?= =?us-ascii?Q?NV6FgP7VtST2TPu7LbKRwJKlOLmaXjfo3+onlY1QYuouyhiJW1HPadaPg3H7?= =?us-ascii?Q?v18RmEGVPV6UzZ2c+sA2U9ZS0ZlxbYjt9inSPGuDf3Aui3kiUudyJazIn43/?= =?us-ascii?Q?AMYa7ZWzWeVcKvdybC4J6RFlpw6IMXS0FVF3Af5PSwHtksSyUskQtzUK591f?= =?us-ascii?Q?Tp56kRT55Xk2N8EtKbWcaYQNMKyugrb28weAGWgxNxYH4pyNt8ClzbwgZa10?= =?us-ascii?Q?UWwR68+mZ3GiRmGYv1sD57sIvFDKEoThscKbouDZ6q7hFhHvK3sPdZHvDMzV?= =?us-ascii?Q?NnZ+TMjWSKJJj+Cx7hx1qAPikKAqgEKyWGgmNWzpIsQ/Ai4NwvXQyxTOMMvp?= =?us-ascii?Q?LOOMHfgp+WQ7IbxSe/YUc/JMH4z4OPMRqSNDDqA4p4P8gh7asLq0h6dAq3HW?= =?us-ascii?Q?3vsM4bOC3nq7YmJUocuTmAEU7dMxWT3nr+EyaMU1igah+cBqKH2ueZB0Nx2+?= =?us-ascii?Q?v5fxZhH8TLUoRvJCUR7torp/ctJj47Lntc4U9klH9PNJwcXQpIZf845ndIq6?= =?us-ascii?Q?HMvs7innyl8ZyIzVC8sXIurhh4aTOB/D7bCnH4y2?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3396e01a-aa71-49c9-cd1f-08dafef29f51 X-MS-Exchange-CrossTenant-AuthSource: LV2PR12MB5869.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2023 16:38:43.9214 (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: kduA8r3EtiqwjmFVwsBvYG+h1l++M+cFahQA/ybSEzDAIuhv7BuiqZ40UWu1EnFQ X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7881 X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: BFE5140023 X-Stat-Signature: cz5tyog4rtuhy6mb1yhuyq8gpz7ep673 X-HE-Tag: 1674664726-276425 X-HE-Meta: U2FsdGVkX19cKRay9nb+QtEaOjHIrQCgGolwCQvbrRxhpaLYf3dN8Y0rNmpSQVpOfZq1ZbPdpBzEk70geS+yem0AAat8XNRtMdxFq0Iskan0z9exLNYjj2r3zplGlLTFsRxagv6mYZU9eqgPmjUFXmpXUyphPyxCSXE+5nani7QXVbngi8uvXJjlvlsTzsDJ6Di6fuYQLIdmJYd/8S8vLz7pnoLNwwIe/G/+NQN5RL+pSNjmT+srJw4RoRcZjGaPHYNH0+W+lfmPD34bBa5Iq6ms3BgDb5epBNz9uQf4CFp1nujQIb9LKDku1IGBIJSWVQqF+LaMvQh6agEWZ9SvhSsb/+39h4lv8DaIzlKckjnE7ltXdK6eqRiPIyldEPctd9uLGWjv7OD10+Ay8lUFYQqdJMWX4ajxGPzYQ6500Q6/ulUgcKt7VO4HI3CMYVW1J+67gHysYsd8bQ58AMm5YGnFKiUfK/El8/8440HMhUBhinZJYD/LV4QmIa++hMHV8U3Jgqul5i9DQfZxvd7dVsGJumGxVcI6qd68zNguY1kB/hSwiDCklEQQNJ2og0H5X/I6YjYnQZUCE4HgJd5lEK4oWEWyiJUWCiFvG5I4DTiGnklLWdGaAjubfvWmxLmrUcXant3Atm4YZpXSiD8N+sI9MjwJgzJXY/3q386cWthPOZvOQoipTle/jzfappWpSwap0io4zQsA0+L+HQtUSqxj1ZnrjqCFFcu/ya4wxtv05/LObGCehzW62Ch/yhBoJ6J6gELrjVBCIDB29xBaZcf0gNQ/LTFKl3Ys/smlJp6wGgTnOgBHh4NjYdD8isVRjASSdXDNZ4+kL/sufqmOunChqMt/rAb5Vkc9pu+4FLhcRh2pd+SucOVk9rkfDGJSciIwlD7xr7POGlEwvTStQLrw/plh4AGjc9pP4narcQmwiWzQaH7kk0L9LGN0hJOc34efRn8dJDhOu/X6Uwt SpMvNzwy 7FkOLIol1McmRITZfZerlBb2HK5BjJFTmklcQCiSwgYRe7T+S33tJnQ/kxK/61GRBGpPHnSfrNpJ2xJcYPf7ehRa/7FrP+uQVD8t3KUGcqK3igeauNdn7lBfpd3nqHQsdVgC8keF2w8uNQo7B2ZUgCm4CRLMQM4mvyTiCSK4iPQ/g7e73jikKtR27az5tJ9jcVWsLUbv8E12JRkEVL5ruLiY0PZ80gCAHEQRSQ5LKD0kJIJ2mjAri2lAexW2UseBhfjuBwQNi/3HttmiDMf34qU9ueQ== 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 Tue, Jan 24, 2023 at 06:11:36PM -0800, John Hubbard wrote: > On 1/24/23 12:34, Jason Gunthorpe wrote: > ... > > @@ -3183,11 +3198,13 @@ long pin_user_pages_unlocked(unsigned long start, unsigned long nr_pages, > > /* FOLL_GET and FOLL_PIN are mutually exclusive. */ > > if (WARN_ON_ONCE(gup_flags & FOLL_GET)) > > return -EINVAL; > > + int locked = 0; > > if (WARN_ON_ONCE(!pages)) > > return -EINVAL; > > - gup_flags |= FOLL_PIN; > > - return get_user_pages_unlocked(start, nr_pages, pages, gup_flags); > > + gup_flags |= FOLL_PIN | FOLL_TOUCH; > > I missed this on my review of v1 of this series: the FOLL_TOUCH change > looks like a mistake, yes? It should just be left as-is: > > gup_flags |= FOLL_PIN; > No, not a mistake. The transformation is this: - return get_user_pages_unlocked(start, nr_pages, pages, gup_flags); + gup_flags |= FOLL_PIN | FOLL_TOUCH; + return __gup_longterm_locked(current->mm, start, nr_pages, pages, NULL, + &locked, gup_flags); Ie we switch get_user_pages_unlocked() for __gup_longterm_locked() Howevr get_user_pages_unlocked() was adding the FOLL_TOUCH before calling __gup_longterm_locked(): - ret = __gup_longterm_locked(mm, start, nr_pages, pages, NULL, &locked, - gup_flags | FOLL_TOUCH); Thus we have to lift the FOLL_TOUCH when we do the function call replacement. Jason