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 EDABCC38142 for ; Wed, 25 Jan 2023 02:52:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7A7CB6B0071; Tue, 24 Jan 2023 21:52:55 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 757C66B0072; Tue, 24 Jan 2023 21:52:55 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5F81A6B0073; Tue, 24 Jan 2023 21:52:55 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 508FE6B0071 for ; Tue, 24 Jan 2023 21:52:55 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 129AE160457 for ; Wed, 25 Jan 2023 02:52:55 +0000 (UTC) X-FDA: 80391799110.19.723ADD4 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2068.outbound.protection.outlook.com [40.107.237.68]) by imf20.hostedemail.com (Postfix) with ESMTP id F0B2B1C0003 for ; Wed, 25 Jan 2023 02:52:51 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=rV1K3J2D; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf20.hostedemail.com: domain of jhubbard@nvidia.com designates 40.107.237.68 as permitted sender) smtp.mailfrom=jhubbard@nvidia.com; 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=1674615172; 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=L3tjMgUF2HTB9XICjkPjY2aIxin1Ul3QqA2cRk7DarM=; b=bVISAwLc7JWSvrVV9z5iZEToWhYSoqk2J9FMrjXEG3dpP58zi0zkf455hUlns9hwRuSlo7 ZhuqWciWoUfx7pI2DtKXOS7JaVcXXiE/H3LiiVmtuKhOrGqJqWiklMbEVsn1bRqjk15DuS 546KevkU4XwhaCnBVUSMS0U74sUrbFg= ARC-Authentication-Results: i=2; imf20.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=rV1K3J2D; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf20.hostedemail.com: domain of jhubbard@nvidia.com designates 40.107.237.68 as permitted sender) smtp.mailfrom=jhubbard@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1674615172; a=rsa-sha256; cv=pass; b=duLyiZUSwfQyRwpEhUNReQSMRVduXR1NuR1+Q2f72KKMXyGlB0CC5PBXJwOvOqgOND9jBE 1md/xr/7sAIKh7S+NxBtS/2dZo8QEtlnYBqg0cXZ07ecD2JVGIUqgrWrsCkILardN7QjY9 1kaBTeTAFDZhUKqcNC/49SsGumc9kgQ= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Z55mZh5hfLRomRmuUAG52l+4iZNPEx1zbgiDn+86JcvYNKMw9mEib9XkzLWJccWjAbzfF9yo/GIOxdJ78dW4MBePJTCUWQHctUUZdJT4e7I++rwtxeGqATrBhtmWzhRmuYnImgzspFzrPj/F2FTsqJ97YkM4a29YJs5FUcbdAylISEMLVRgP9fm6tBXj8CeHJIW26g1F+qpccL1Oa+tVYLfeBayM+ecNJAAbGB46/1MdubBk3OkU/rq5t5GugwbgMu1G1WjEJBjCXfUeeG3bcpH7xzgL9vMq3w6PUlclGxHDPNkKTQqYhJJRp3yYKdh1AdznrTba69VtV+E7vsn+Dw== 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=L3tjMgUF2HTB9XICjkPjY2aIxin1Ul3QqA2cRk7DarM=; b=WxvGgiNkYcj8bGkw4z2NVVixmjMebkQsLihGHOBLQbTi1hg30U8Bvx6kXV+TJh7dboVxyVTP9qurlw/NQ2beQ1sLci3Tuc5S4MJY2LOwHfhtzLB/DZUhEbfLjYHciDIWKif/l56o8vn22FJ4HbOQJ4nx3v7mCmBuPqG4jGqSK5OU8FM71+SoRCCMFerigG1jhI4FWDblYzRcpcBJXvG+ll20qq41Xwp1coVxDDJN7+Pmm2XBp00sBQqdaf+fvFb3HfAtVMphtoD/UHhInRb6q/Iu+zg1HdSiCC/R8KGLtq2GKjCSgc4ow3HVAjKSz1lRYgizKJBbYc8U3PEpcb6Qmw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=redhat.com smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); 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=L3tjMgUF2HTB9XICjkPjY2aIxin1Ul3QqA2cRk7DarM=; b=rV1K3J2DfIE61xvR47WFuKFjocUo0zNJBVNE2DPBDmSWzHO51q99DaCDmjhLqxc9WGkzanOYm2vODbUfSfKUPWNCVrQHXpQ75I3k9wZ/cvKD24TE7DQv+vOxlgAQEnWJC8vPwe43RXG6GKxBMz7zRomE43Q3FhWtZPrDQQS3E9Kpx/84kBiF+3w5pIdnVh1QawYJfSOGjmuMBDPWt2LadtQHc0pwqwA7grOL15GFx8rduqIkw63G5uxGSUamMh8WPvGg5g732S5wfGNgispPNDU6VYMQR1jimFxHz7z1UIJzoWX5RmVltub5sZjSR8zUb/pWBbLw0W6VkuWxaNCtfw== Received: from DM6PR03CA0005.namprd03.prod.outlook.com (2603:10b6:5:40::18) by SJ0PR12MB5438.namprd12.prod.outlook.com (2603:10b6:a03:3ba::23) 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 02:52:49 +0000 Received: from DM6NAM11FT048.eop-nam11.prod.protection.outlook.com (2603:10b6:5:40:cafe::34) by DM6PR03CA0005.outlook.office365.com (2603:10b6:5:40::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.33 via Frontend Transport; Wed, 25 Jan 2023 02:52:49 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by DM6NAM11FT048.mail.protection.outlook.com (10.13.173.114) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.13 via Frontend Transport; Wed, 25 Jan 2023 02:52:49 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Tue, 24 Jan 2023 18:52:44 -0800 Received: from [10.110.48.28] (10.126.231.37) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Tue, 24 Jan 2023 18:52:44 -0800 Message-ID: Date: Tue, 24 Jan 2023 18:52:43 -0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: Re: [PATCH v2 01/13] mm/gup: have internal functions get the mmap_read_lock() Content-Language: en-US From: John Hubbard To: Jason Gunthorpe CC: Alistair Popple , David Hildenbrand , David Howells , Christoph Hellwig , , "Mike Rapoport (IBM)" References: <1-v2-987e91b59705+36b-gup_tidy_jgg@nvidia.com> <53ac3700-6532-a609-ceff-d0840469e532@nvidia.com> In-Reply-To: <53ac3700-6532-a609-ceff-d0840469e532@nvidia.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [10.126.231.37] X-ClientProxiedBy: rnnvmail202.nvidia.com (10.129.68.7) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT048:EE_|SJ0PR12MB5438:EE_ X-MS-Office365-Filtering-Correlation-Id: ac425590-3380-41d5-c480-08dafe7f3eb8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: W43rjdFR7Ok8sPzwP9yYZZcE3bfmWL1LvAYbqlNlQ7p0WfZZF1FM0apHme0fXjzTobjdp/r6X0MUQb67dyceVHjqnhsKxT38LGWMMv7aY91DgQYjq7hVSiYJ6wmvyIqvcu1/s5EyqXVp8gWCBLQ73CKl4uYWaaGtBht49Z2ln5qNqbROPHF0VcSbZNAn75MSx4sCKyzC/XoAD+S78fruAb5quoIo9ZnSI3FFqsDZdB6OqB+gKGhkafiE//096K5MvrYbd4y+BPlGM/B6nNR+10WHwmqaU4aRg4THFtjjPotoiooYPlljDXrQOU/Xx37muu/3g/I4qBPL8G5XOIOWtKkMSf2gSt6vZTqmVxtPwy7/WyJsQYc97DHH6DGnQjLquG4iUx7rLoPdGHr/srE163F1l00SiGW9tRFUBKUKiAa0mJzzCeamK1UcaHtex8eSkEdOq2ce0xqXikhoD8GubP+WwJ6+59T0Bp99OqZzY5G7s7xWP+5hmM6wUMCUYaC44OmAUqQqqYuhklTtw16P5dvAI0zWtOhl0ZkJhv4dzdve9dqyGkTbQHG60kCy6hejbySIw6qhWFib8Aic8XopKVdnD1AQ0LHr8r4fI+bqx8NsqsSspmQHxo5hk79DLJXe0J0PiGzM137TSzRcZQAGcSdDsn+83e7zS2DoZxVkFKUc83G4AbC4jJ4iAoB2OUvrfYFk+iEKa6109XHDOPga9DQozZobjb+bPp2JXUMAYevz9dKjTYmU8+/NXnL7hdmk/qD/S8T+YIvtwJNgg4rfEg== X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230025)(4636009)(376002)(136003)(396003)(39860400002)(346002)(451199018)(36840700001)(46966006)(40470700004)(82740400003)(36860700001)(7636003)(356005)(4326008)(8936002)(6862004)(70586007)(5660300002)(8676002)(40480700001)(31696002)(2906002)(70206006)(41300700001)(336012)(2616005)(316002)(16526019)(53546011)(82310400005)(26005)(47076005)(83380400001)(426003)(186003)(40460700003)(54906003)(36756003)(37006003)(31686004)(6636002)(86362001)(478600001)(16576012)(15583001)(43740500002);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2023 02:52:49.1382 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ac425590-3380-41d5-c480-08dafe7f3eb8 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT048.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB5438 X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: F0B2B1C0003 X-Stat-Signature: sz1yqs369iyskty3i1g6z4rrrqirmxca X-HE-Tag: 1674615171-556488 X-HE-Meta: U2FsdGVkX191ht1DkIgFBa03SR11a7RFVoVFgKdoigl6ANV+ho1Ye79cTs1uE2p8bAaSgYRLFnb6cEiLoM1SBnstrZTDw3HVar8hEOdO18b33DnpXiqBkeLEB97staXbSB1ea1oS4/Fl7aXnOEz7+S3rkIiWrKFFYzIqpTTAYeUlB19zvdMSOJ63RvXScbW3aY/7WgtoEco/1dSj0a8Tvn4LT5p+78U+D4IvUznVu6up4WSa9C/pHWZ3zt0Cr4dCG4bNl026PcIJPpM+FyWdgDDSCbOxBznK54678tQCdyUSelgEeTbBYULNxvyU2u5NP9Ru37/tGDKwth7n0kweq6A6YU+s1U3lFLcfvPp+I7HjeaSq2s7uWplkxidA06V7EFZsqQdfrXXmjujCco6K1QVDIbSJiWWUNvbok7G+S33ldspVgjnnFIJQhk/vTT4PwjnXnW3yx3/xDYX4Fsj6SrLDTKazrrag92mEj2w9oOJXtHxJYWt8qOeY5NDdkmprAFL6V9gdGr7Hbnih7S3RAmyRbl+N1fi83GmI0OnQgHr5cfNLJZSo/kuG2+PMFZgluoTvAzjFBSUAgSyZ9vJ1Nf1qQYZ+APZ2u1gJYAPISkcyBAdstNVBMw/phiER93mBrJr8kxzywv9GYP9Dcy2R8DMWPS1gAET+1og5RFsDA4kj9Ci7zDqTlJzDMTgo/IvikD5j6pSVqDzgp25wS0N4Wm/o5mCTj8tSP8bs+UgzvXmOZOhMtOhJ8YwJy1B9xh+JojcglTIMc9hooT3twGJ4mFh17LJH98IUqQozBaLzuz06mDg2rRUP9O2/1dW/yN5dyhTr642kmEC0xiCtQrl6KRiJF7uKbPooAAXxdqCShrnltucdG5epTxIseHZmlMs5/TQzatzi6mAWpt7owukrjV+EHk5TSrURwUwqT/bD/ts+MVbQyVRn8CEVLnaN0sdc0WO4I3MZ9O2U8uZYU2i t5tcp8pA GaVGRzCyFFH7DkR+N1uKDqeByN9ojwgMdiotkwyA/Y4YGzNNPJVjCieeA8WP9DxL1JHkKgJ1tzMfPj1D1Y83It2RPRInTPyPrEpH4s/yEk6XMFerGPVlnwV0KgsPuRMxymW3mCvwDnTRoLmSKCjeHwt+LWBGiGM6Af9DIRoZ4IS8maZu/4lpDncbu2nHwpSQYiykdsJXP88jK+lEpn8ksHGv8p4r2qnhPFEqAQNSDY2xEKIAhwFkEgxLBj/QIjxHOFiHOcR85BFQypDCeKCv0RVOc8qZSoRyRVFr0i03AmGA73xiktENPWyUypmO0zJbYYjLHKU/GpX3h6BMLWoTXO7WgMRD9nJFCBzzVPC8mmvkXiGc= 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 1/24/23 18:11, 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; > ...and I think the same thing happened in internal_get_user_pages_fast(). If you think that FOLL_TOUCH should be added, then it should really be a separate patch, because it's unrelated to what this patch here is doing. Looking through the code, I'm on the fence about that. On one hand, there is an argument that pages that are going to be pinned should get FOLL_TOUCH. But should pin_user_pages() do that for the caller? I'm not sure. thanks, -- John Hubbard NVIDIA