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 313C7EB64D9 for ; Tue, 27 Jun 2023 08:06:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 905268D0002; Tue, 27 Jun 2023 04:06:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8B4188D0001; Tue, 27 Jun 2023 04:06:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 758388D0002; Tue, 27 Jun 2023 04:06:08 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 650A88D0001 for ; Tue, 27 Jun 2023 04:06:08 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id E85231408E8 for ; Tue, 27 Jun 2023 08:06:07 +0000 (UTC) X-FDA: 80947794774.01.324AA27 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2041.outbound.protection.outlook.com [40.107.220.41]) by imf14.hostedemail.com (Postfix) with ESMTP id F2FEB10000D for ; Tue, 27 Jun 2023 08:06:03 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b="M87L/Ya6"; spf=pass (imf14.hostedemail.com: domain of apopple@nvidia.com designates 40.107.220.41 as permitted sender) smtp.mailfrom=apopple@nvidia.com; dmarc=pass (policy=reject) header.from=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=1687853164; 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=lnSbjIee3hIiRWIMo/mmBEbUyKXpeqV7uo5iAfWtavQ=; b=a/g1N6Hl+sU/T0uhgvXAY8JYJAeiDo+PNXVSG1Utut4oZsaDpUi7SVwNnm9hscWp2O2dD5 mH/ABaLzdNd/Vetjac2Hp5dpuAuWPY9tZWK0C+wHqg5PGCB2FkNKMQFql0Y24i1OSTqWJP OIAH63u4gkT1oupj0rhv5wVGaou6gb4= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1687853164; a=rsa-sha256; cv=pass; b=K1PholVMNBcQo7pzZwMvCwy2V42um3gfdTVKBk7E5koNYjaWPBrlbO1f+TtV8GapWq+M7U eUatve63RiQLAozi8wetaTQdBhBLxg709iw5d1Q830VIX0xQbaufADf8AXSDEWrdgdlmw+ S6/cnCXJbo6C2kRG+sxL0PkjvL8RC0M= ARC-Authentication-Results: i=2; imf14.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b="M87L/Ya6"; spf=pass (imf14.hostedemail.com: domain of apopple@nvidia.com designates 40.107.220.41 as permitted sender) smtp.mailfrom=apopple@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ETeoG8ebn0jb9YHMIgerJ5slQOHDONynfAiJXtdMk9MCE70WvXG3XayPQTiJRlx3bnxVuJDJKlOjPNF1CDhqHdAmT0lGqLo+/7ekyuCr7jBOkVYkiikBdh+jh4qTAdbLVl4wqjN1zlARgDfSo0fE7P8QYkiylRoCYVq6U6ai8/FCoSMC6tNlUFf9G2llTO5zcQkwPfioBc1R4O/opuu7dtdZDlfzDjCEQp7yNDf2VG9e9051slIVWXWiqu9eDq8/Lt7ely+qTGZ9IiZqljDf03Kwh3uP+zaveWhdJuPTHQqBXdITAsko+Kx6ip9TJDfysWVce360C2iYjCsrGZaATw== 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=lnSbjIee3hIiRWIMo/mmBEbUyKXpeqV7uo5iAfWtavQ=; b=YjkM1/MkF4m4yqmKJuBX2g9do7ZyXYxoTE+zm2/8XM+nCDwif9gnxddb3FzwpRUfkCFLJBBlBwehwTl9gfydTT5Smj9mvZ6CvTR/PAnnarYmFr3OxAFj0lvaI5Sk95Ja/C4ZSjCd5zSkJtUUuBuU0W7PEvkxcKraxEVAxqDNhnN2q9237vKkNMfBvvbKWRB3NQ2n/ZC+fFCE3SekIb1dwqRp9/lggYeKPqi96vp8FRoWeb4j3/77UdyJPK4hGspk/rlaOOj6gGh5Y6XuhtMjMQP9oPTzoxOi7QB/v8rL0keCrmpFhKIlL5m1eh9+XCli90BV6Hk9YJcP6tkPj2m9HA== 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=lnSbjIee3hIiRWIMo/mmBEbUyKXpeqV7uo5iAfWtavQ=; b=M87L/Ya6FKuoMpLdpsMYLogrHObV6iu2r3GslamZ7GzcZPSmU20fbF9NTU0ObS41uvq3b0N/HTyQ6ZQuX7Y7VHuavAzz3g/IHI2El10EJYNA5jeMDXg2jJsuFeyfw8YT0dbvrVwkLF4Bi071OkGVoG1lNs2kbqWXE8XVdzN7/l7Am7Fk7wfZ1EoMLgh4ELKN1jgzkU2g8JxDp3oMVwJ0D2btJt85nw45yQuPNVxvyMGJsSV7RU9fIhMxSa9SrUJ4+tW0mBQybfdbmm1BStD6tr6V97L3zC5cZ3Jru31HvccOZdAgVmZm9CjI1K+atjv1nvdMJG24EaHRWACF2ZKT8w== Received: from BYAPR12MB3176.namprd12.prod.outlook.com (2603:10b6:a03:134::26) by DS7PR12MB8203.namprd12.prod.outlook.com (2603:10b6:8:e1::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.24; Tue, 27 Jun 2023 08:06:00 +0000 Received: from BYAPR12MB3176.namprd12.prod.outlook.com ([fe80::6cea:921f:eb00:c1e7]) by BYAPR12MB3176.namprd12.prod.outlook.com ([fe80::6cea:921f:eb00:c1e7%6]) with mapi id 15.20.6521.024; Tue, 27 Jun 2023 08:05:59 +0000 References: <20230627042321.1763765-1-surenb@google.com> <20230627042321.1763765-8-surenb@google.com> User-agent: mu4e 1.8.13; emacs 28.2 From: Alistair Popple To: Suren Baghdasaryan Cc: akpm@linux-foundation.org, willy@infradead.org, hannes@cmpxchg.org, mhocko@suse.com, josef@toxicpanda.com, jack@suse.cz, ldufour@linux.ibm.com, laurent.dufour@fr.ibm.com, michel@lespinasse.org, liam.howlett@oracle.com, jglisse@google.com, vbabka@suse.cz, minchan@google.com, dave@stgolabs.net, punit.agrawal@bytedance.com, lstoakes@gmail.com, hdanton@sina.com, peterx@redhat.com, ying.huang@intel.com, david@redhat.com, yuzhao@google.com, dhowells@redhat.com, hughd@google.com, viro@zeniv.linux.org.uk, brauner@kernel.org, pasha.tatashin@soleen.com, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-team@android.com Subject: Re: [PATCH v3 7/8] mm: drop VMA lock before waiting for migration Date: Tue, 27 Jun 2023 18:02:10 +1000 In-reply-to: <20230627042321.1763765-8-surenb@google.com> Message-ID: <875y792uu7.fsf@nvdebian.thelocal> Content-Type: text/plain X-ClientProxiedBy: SYAPR01CA0017.ausprd01.prod.outlook.com (2603:10c6:1::29) To BYAPR12MB3176.namprd12.prod.outlook.com (2603:10b6:a03:134::26) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR12MB3176:EE_|DS7PR12MB8203:EE_ X-MS-Office365-Filtering-Correlation-Id: 36319030-02f2-4ef8-eb9f-08db76e55788 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UIXvKXzSY+bfZrS2/XiFgiE5S7dOin4jlDMpYPYkSDQbxUtOzCLKhL64+8548Ivz64Nsak/34WGFBtDHP4JtS1AF3w/oUzT4qfLaYLZvXg4x0EqjfnFFhto4FEUJZwaojIkSuzuE+RHRCOz8mPYGSpe5cndCSKvXjXedyCXI2MGHssNjR/DtQgQZ11hfwB1maanyRf8KitVt07R9Mw07cOdm5XakL8QFsHEkT0smCJgtzpqOY0MkxRnoiZuxo0JLzrdd6Ow6PAHZTudfQoApECArabFMR6xEqOcYSj5/BG77ESbH6ruEaTalEKrIV+p5YNKF8rz76jdK/1zP9LFUElC29je5xdWB5AMDiQ6WuhfMGncmL/9tXrID1nz4fc9UbV5eFI2qV7LmsoCsL00iKMHdCZcgCC03gARsmoI8YPdGXEHudm6jn+Qbx05Y/WRz2QNdcvEJMiaV/1iEJmdjPo6MUMWq/65SMsm1JmkwHc+k1Ib/IApngmx81BHb7S0jBQy8FxUfXW3UKZw282WxjXhwHyoeWL1yIul3kx9u4ED+x4/WLGAr66CXFhBtfrWR X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR12MB3176.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(346002)(396003)(39860400002)(376002)(366004)(136003)(451199021)(7406005)(7416002)(5660300002)(66946007)(66556008)(4326008)(66476007)(6916009)(478600001)(316002)(8676002)(8936002)(2906002)(86362001)(41300700001)(6486002)(186003)(9686003)(6506007)(6512007)(26005)(6666004)(38100700002)(83380400001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?+9ikwiMcL3Bz2H50byXAgrZp84YG0XNqu9rUrGsxFjH38EZ4Z8unyaqngZYX?= =?us-ascii?Q?3cSTkVsr9mwLcLSw8+YOJNwFEfA9gwtxjZbjnaxI/O91RBhL6VptWqTEA4n7?= =?us-ascii?Q?VDifJ0zbidFnSBjXg+OMdLHhIaAAjoebOba5fJQVH0O7wEhAbGHjhxEPKRZA?= =?us-ascii?Q?xRCxRUtDH9fphHcXNICgQs20MaFEcU5DCI+m4eWkBoJqMnRJJrm4tOl9vnhL?= =?us-ascii?Q?XXgY1bmnz0LS83ZOHWOzUe5GHPDoEOFlc62osTT+zkyQR4DPTPrXUPjVLWo1?= =?us-ascii?Q?c3dl62T1zA/9lEtpV5tpUg+G+4c1LRGVonlSK5GR5kvu762RsccdZoLBDWjg?= =?us-ascii?Q?2OsjStwocLFkYOVpmtcy1zVdyHs9xxYzTR7PfB7ZOA7Ksr0zhIa4qcmKQERS?= =?us-ascii?Q?F2Suo5SXpBKKq+fkYly4XyX3h01vk/eLCkNBIv1kTwq4tZ/rw56aXcQWiIfe?= =?us-ascii?Q?QodGUjrmL0e1gzvDy53CMNmyDltxzleE/LyPFAvP1OdEjhZckpFrgejE3756?= =?us-ascii?Q?Vjt0jIGerf02kWJqbmoXx4jWpRzVoVH8QDkigXBzVQWe1qR/CoTMgnPA/NMM?= =?us-ascii?Q?lhznYY4gW0t3ilkvwcpbazIJTonK8iztP4tOXraF//Z35yVquS5Iw3KMRcg9?= =?us-ascii?Q?5n7FB3hZwhkc3ofoaKPwC3irsnXwLiVhuTpw/VaFaP8DtLs1OsOErmkK5tVH?= =?us-ascii?Q?4LUM0q2F+QiDYrmsG7IjcP+aAoxF6zp5slP+JXTojbO6dT6hiYFi9h0GURpO?= =?us-ascii?Q?fUJTFIyHzNR7kCv/Qo5wSQqpG6AMKOJNCX8k/t9bIDASJV4nJbFnQGeLZW74?= =?us-ascii?Q?cvLYMYvuGRIwSJYN8+VLNxbcb6cxBiAahmbtoxtr7kWa5E2/9oRcLYHVivdC?= =?us-ascii?Q?hijM+465AfmDVlGjtbXBRKgKSYp2rztFJvRggNeeW7/C554yC2FPhrMP2s7n?= =?us-ascii?Q?y6feFDi5J7pdOzOYoK38YU0uqwA6jCl6aSTMeZ7VRjOh/PQHDhJyMagrty5n?= =?us-ascii?Q?TeNqJi+MgRqVa/DD2xc7XrfRX0Y1EHZ/U4AyWWvhJsA7Z+fR2K8oYLGmpeTR?= =?us-ascii?Q?R0kDnkg5GyznYIa4GkV4adItHzA5yFsUeJEH9HGjHMnpmAA3GQrxslLa/ZSx?= =?us-ascii?Q?XoHgq8waKmUky4TD+vTyCMIkt2BNTV0qed5eVGdZhAr11Xkc1LAwu31u8hZV?= =?us-ascii?Q?muazZqFNib29i2N7NSberKZYs2Rb0pOtoAJlEvC9RxrrGZVxpymkFZc4dhlb?= =?us-ascii?Q?1OFUuLlwcw1z5Nvu5IcGKZHvZP6/A0Xwwup4H+Tu18VTsgeXM8N8cqhz32di?= =?us-ascii?Q?jXAQBZ1Bn8u5rtoqlovcTYab4vhPFa7VSWOa8tl6LGQWP0HBUaygLphZKI8/?= =?us-ascii?Q?aJOPtKk6mHn0emrfVp0nDG0yp9OjeWpoaKymu6cnbooHFS+Z7dIRCEcky9H4?= =?us-ascii?Q?KhWnMycPPqjOosE4tRFjFgGAtkbUCoJt15pl3IZFtSV5MPsnxR8RCovXE+iH?= =?us-ascii?Q?2gJ5YoEu7Umc5ho8BdvpwYl778/YcHM1SNSJSZ00mqjttmF36GS+O9HOAaal?= =?us-ascii?Q?a7I90Eps/PSGANgVcONEOFfjjrupAOdS8FDy77GT?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 36319030-02f2-4ef8-eb9f-08db76e55788 X-MS-Exchange-CrossTenant-AuthSource: BYAPR12MB3176.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jun 2023 08:05:59.3038 (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: akimAM5jy3SsMpAhGPOGqqMovQzSo4PsZe5xeGyZOtFe5gt4c65K6NZX7Yeq3vyzO+Vy3lCwitueXcNAdNLrSg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB8203 X-Rspamd-Queue-Id: F2FEB10000D X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: dir5rjkfs1gskg3iya85cngexek7ekc8 X-HE-Tag: 1687853163-622721 X-HE-Meta: U2FsdGVkX18U20v/L+RFdJIBt0tf6iGiAf8G7f1PJnxegxAyYvpAZp5xWJcUD3GtYQQtje1Uye983kZJTeKo3hOPZFGIeDUJ0jgV+/shDezpk6Hft6LUzmCEBjNjlJP5uKbHYgE+GCYXODC/y3NnB/KsgF5365GBPaOvpLeiPdF1KX4COOKRe5FBZfuSbv1yM/uHwIFeSUZsSZDOs5XwvS/sLeoJjufHnSlLVgFZ/flziaiZ8rbR+T+P0sVAeYnIscYe+tkZ97Pn9EHv0l3vVJhNkwUKJ0KhJd8W79QbDiwAUmvl4Ifn04QzyLfyEDyvdjRZ1m5I+GabrSlCJ/3E2DvZpb6gwg7tgCzLt/eHs6xAM99U50IMZMZ7yNAcLJgtBUke23wJZARqoq/xn33XXmCtKr8fe0gKMzq79Rq0RSADDhe37qMQEbCgeNBYbieoMKW+r+LKuETgyLAzNlbDijWQrA8qdZSVz9m2btcR2TnqhoCzV1PZoEqOKIZ3hk1uqkQGAg3RuLO5K1r+0nWW0Z6ZnXZ/1zAL6nnMyBJ/qNoktAN5dkeQN8PG1VR9f/+VYhnD4HE/7PF/tK3xVAajSACJuY+1Nqa6wpOHodRXb0ncN5jmt7QmWZPEkyQfef5HVvuqieXPo0+Zn5CfGr0c/x8ttVv1+l8LNErDJDgtOgZD6MfHAii+80g5lWNs3RYvAJJvCCBoeC0ALhw8853uz55BYQmORuzv9DjyW3BEeXZfuLPGLPohpex8r+0oAhBVMB8pqbaLsQhC/ah4bjFWPorxTz+Ynun2qwaX1ZjQjGMFM1CnooAPgFBZ594ug1EJIlVtdCx4oXm39n5uT2XZSeFqmn713rKsonaaULg9KQyR+KLZYiHo7DwwwnuVZS/XZZJCDEs/3WGncGZyMhozQzPhoSOXMjo1xuZK8V5WTE46uWaiGQH1z25oyt7aVXUY6TnFbYnpmHBcU/oIKf5 4D33wtN7 KjtHN4rCqyIF6D2sw6xcYT8PfqWtZ0jjLPoTDlmGYAwo+cFlHXU+KYn1cEsmOQoz2MxgEQiJnZF2RI9o3iT/PqLmvipUQkG5Dsq7e3s9HX8jYlbM0YwrLqmh+pGFrmRZE6t5vzsFvDOTOT4c= 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: Suren Baghdasaryan writes: > migration_entry_wait does not need VMA lock, therefore it can be > dropped before waiting. > > Signed-off-by: Suren Baghdasaryan > --- > mm/memory.c | 14 ++++++++++++-- > 1 file changed, 12 insertions(+), 2 deletions(-) > > diff --git a/mm/memory.c b/mm/memory.c > index 5caaa4c66ea2..bdf46fdc58d6 100644 > --- a/mm/memory.c > +++ b/mm/memory.c > @@ -3715,8 +3715,18 @@ vm_fault_t do_swap_page(struct vm_fault *vmf) > entry = pte_to_swp_entry(vmf->orig_pte); > if (unlikely(non_swap_entry(entry))) { > if (is_migration_entry(entry)) { > - migration_entry_wait(vma->vm_mm, vmf->pmd, > - vmf->address); > + /* Save mm in case VMA lock is dropped */ > + struct mm_struct *mm = vma->vm_mm; > + > + if (vmf->flags & FAULT_FLAG_VMA_LOCK) { > + /* > + * No need to hold VMA lock for migration. > + * WARNING: vma can't be used after this! > + */ > + vma_end_read(vma); > + ret |= VM_FAULT_COMPLETED; Doesn't this need to also set FAULT_FLAG_LOCK_DROPPED to ensure we don't call vma_end_read() again in __handle_mm_fault()? > + } > + migration_entry_wait(mm, vmf->pmd, vmf->address); > } else if (is_device_exclusive_entry(entry)) { > vmf->page = pfn_swap_entry_to_page(entry); > ret = remove_device_exclusive_entry(vmf);