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 3D0B3C3DA6E for ; Wed, 20 Dec 2023 05:28:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C3E1E6B0082; Wed, 20 Dec 2023 00:28:10 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id BC73A6B0083; Wed, 20 Dec 2023 00:28:10 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A41596B0085; Wed, 20 Dec 2023 00:28:10 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 9169B6B0082 for ; Wed, 20 Dec 2023 00:28:10 -0500 (EST) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 6326A1404A7 for ; Wed, 20 Dec 2023 05:28:10 +0000 (UTC) X-FDA: 81586065540.25.B707DBC Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2045.outbound.protection.outlook.com [40.107.220.45]) by imf24.hostedemail.com (Postfix) with ESMTP id 81C15180007 for ; Wed, 20 Dec 2023 05:28:07 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b="L+/BeCI1"; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf24.hostedemail.com: domain of apopple@nvidia.com designates 40.107.220.45 as permitted sender) smtp.mailfrom=apopple@nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1703050087; a=rsa-sha256; cv=pass; b=qiMRDqicw8EuEX2UoG3af+nUjvDBWPzvhYJhRKHUAXgL+ho+U0qu4w5eQtw2ixyBJMnEpD Lxhh65chx4Nujtq68/aNsMxoR1Qv+kxHcM7oKJeZgc4GApmoKcb1kJEmE3nuK7EM+mhgjs NJVNnubDYZhmnlQxnId6Cu4x7BQVtNM= ARC-Authentication-Results: i=2; imf24.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b="L+/BeCI1"; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf24.hostedemail.com: domain of apopple@nvidia.com designates 40.107.220.45 as permitted sender) smtp.mailfrom=apopple@nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1703050087; 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=9kfsQYCNQ7XNaDBPfx4N3Tktjqysti7t0/Tldy7rsBI=; b=atlyA7AQJ2Iv9YOu55Z8rX7uTUZPeuE4x4IhWdCzToaQ9fOXDnlV6jRGi0k95hjt5YMOBK dDHEw7X10+gT1MlMC2i6eWKLYjiX/axYPoZFLiG8BshuCQDJW6rDQZBZoofSE6svHh4HX2 sT3KqfZtqYy3ibp7uTVoP/TLzYzHe5Y= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=D1PGQifq5CdrKvNitDdopuv4djwwGq+jifFNoNWJNfDriXLN65rlGb4ZoNlREWkuuhpGatA6j6DUuGE9ni5s0Kz/acqiygiaUY6bFfEddexB7FJtMTG7UXc2d05kMqIzRVMC46XmdvZTJpBz7r8BdL3EWHGSqGn2TmgXBOsx5ADYXyUp7/9lioMmn9EngVTtt1UMRAvmcs2Gsevxisu+4DQH8d91WThXmMUJnY7WHq6LbU5MfSmxvEG8hRqC51uHb7me+AjdDVKsSi0vYNDhodj/iIg3kQMcjJWNBQk+7uotN2N/Pvdv+j68lFDfIk/Df0LuDZ6/Ng/9DoAoua+ivQ== 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=9kfsQYCNQ7XNaDBPfx4N3Tktjqysti7t0/Tldy7rsBI=; b=gIrPYz43JIj+MbqT5MYjtfXEKJ0LOywvyB8RPdR47KEkem9Wk5wKeAfyHxhewwLKb/BJLHOM22qA3bA3Nsd7oDKtmyKh3bEa9AfveHSG6Yll0gizmpUZ1iTqtU5TiC/F9nPdEax8qPALmmdhDOk3bvULMxJM9QxTghtap6OS2OU3nRlTJbUJRdGgO4rR6TyScF8MBfabn5V4Nt4d1gKOm+nNM/URToec0RBiAucM6KcW08DSb1UgchSPuhyZXEdSkVLXf26Iy0+UNX555Jqg4paSvcedGNlM5+FOJNDU+Yc8vE22gJseVXuFsXP+xYOGBMtrS/vTVGiOueSH8WCBTA== 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=9kfsQYCNQ7XNaDBPfx4N3Tktjqysti7t0/Tldy7rsBI=; b=L+/BeCI1h+t/QSIK90nQ9UAWvZX5qniasyGH+Sfzp5rIY6JTPH4l7nP25R5kl2Fa8jQa2AXEVpnKYFK/W+GBPAc619qi3RwWkc/rbYVvXq9QWBC1D2RlI1R/RFwFRpInCQJ+wunTtLx4QqxZZx3xSRSb1HNf/ypLqM27IHsFEGeZRB+XTduvXCW560y53EAcGluu2emV4ZJL/Rrfa118o7lZ3L1dBKiHqoEkK2l9i98MbUVbyM10dOCXKoHzYjfiICPQ1aGACAf9LKJtzLOhKNU6WM5gHDJUw1ebcofqAS9FDnBQulwwDIhQrNb1WNCKMlo1W5Uphze26wcs0kSaug== Received: from DM6PR12MB3179.namprd12.prod.outlook.com (2603:10b6:5:183::18) by SN7PR12MB7417.namprd12.prod.outlook.com (2603:10b6:806:2a4::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7091.38; Wed, 20 Dec 2023 05:28:03 +0000 Received: from DM6PR12MB3179.namprd12.prod.outlook.com ([fe80::5fef:7167:36e:76cd]) by DM6PR12MB3179.namprd12.prod.outlook.com ([fe80::5fef:7167:36e:76cd%4]) with mapi id 15.20.7091.034; Wed, 20 Dec 2023 05:28:03 +0000 References: <20231218105100.172635-1-ryan.roberts@arm.com> <20231218105100.172635-4-ryan.roberts@arm.com> User-agent: mu4e 1.8.13; emacs 29.1 From: Alistair Popple To: Ryan Roberts Cc: Catalin Marinas , Will Deacon , Ard Biesheuvel , Marc Zyngier , Oliver Upton , James Morse , Suzuki K Poulose , Zenghui Yu , Andrey Ryabinin , Alexander Potapenko , Andrey Konovalov , Dmitry Vyukov , Vincenzo Frascino , Andrew Morton , Anshuman Khandual , Matthew Wilcox , Yu Zhao , Mark Rutland , David Hildenbrand , Kefeng Wang , John Hubbard , Zi Yan , Barry Song <21cnbao@gmail.com>, Yang Shi , linux-arm-kernel@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v4 03/16] mm: Batch-clear PTE ranges during zap_pte_range() Date: Wed, 20 Dec 2023 16:25:07 +1100 In-reply-to: <20231218105100.172635-4-ryan.roberts@arm.com> Message-ID: <87zfy5zbmu.fsf@nvdebian.thelocal> Content-Type: text/plain X-ClientProxiedBy: SY5PR01CA0045.ausprd01.prod.outlook.com (2603:10c6:10:1f8::15) To DM6PR12MB3179.namprd12.prod.outlook.com (2603:10b6:5:183::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6PR12MB3179:EE_|SN7PR12MB7417:EE_ X-MS-Office365-Filtering-Correlation-Id: fd27fa59-1bf8-4e84-17b3-08dc011c701a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: KyFc7dyqWBrhJpJG2Aue+z4mKaSO89wj15zdm9Le5AddG4AsPXYAn+VEW1ync3ARN6VH3Eb5YaUOxiYoBXXYdVOYz990hg9A61tj23klu7oyuWKpuMi+61WEJuabSu6JycvdgC+tto/wBqxcbG7w3JBcAR61xP8tfqYEe/gbMQLDrcvPkpAP+vf9gtDwoNACEQwAQNpML+i5VyVlzFiKCWfrHMpDpAnWzFveaViwpG6Ros7Sx+PyV5z4AnLhOVuN7dmtQa/CJ+jAzeojRwSe8jFtcfPWzOhkCRC6k46sUICVpxPfvGMmRe9D4vPvkO8xTOUeaElCIyiiaIY0V+xVxR96mWLLHD7ZLqxCy4Lef41Jsr1jmHgxfJxf/p/3WUY7EVJ+J46A5R6YF6fK49xOsT0Nn6zF425ZMuN/Zk19a1XvKk+ZLfKd3h2dIDIuQvEAnamhJv0xbawMR+aiKnXOOCBaLBG1mqZSTEK0Ps3HC/GV9l/+9YxCp4hrifeMB54QPzT8mPjKAS2qac5/qyb0Epl1M7+ovd3/HAOIYX77S/FtYztWdvYV27XU4beilBWn X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR12MB3179.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(136003)(39860400002)(346002)(376002)(396003)(230922051799003)(1800799012)(64100799003)(451199024)(186009)(66556008)(66946007)(6916009)(316002)(7416002)(54906003)(66476007)(4744005)(2906002)(8936002)(8676002)(9686003)(5660300002)(4326008)(38100700002)(6512007)(6486002)(6506007)(86362001)(478600001)(26005)(41300700001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?VdavYJWiwo7ygiaX0rSAWsMxjvvujOOEYeCQ5qpqEEWft3o0xw0ZbLY5wSSl?= =?us-ascii?Q?yPjMveVzgKi+FYWlRdnnuGnTdokhYw1R1sbAOkwrMLb6S3eKSjINb+L9f2oi?= =?us-ascii?Q?wLzeKaFU5xWoaqZLEE3Cl/0m9j1V2WMTnIlqiZjfsSRuXM2SVFPLKpi5j+0r?= =?us-ascii?Q?aUsZylGuq28epVFlnK/gVSiGnDZ88fU0b9J+3zsvsHJMlra7/2ZqPvE+5kl9?= =?us-ascii?Q?FcGY7AuFFjmH0LhsWwtSv2VgMXeIMQPH4DJYnHjIJFuhpr5qAlEr04f6P2Gj?= =?us-ascii?Q?W1dr0nbXy3woMjcKqJO7QGCCPfz8DLrkRvvamZ5eWT37rH4Mqik6+sTWwLlk?= =?us-ascii?Q?01hbTQxuN7PduNeC63HByPQiJlLzQEb5T3eoH7dkPP0qSs1MSwKjhv5eq5Fm?= =?us-ascii?Q?zbn3/bc9vYfvLbaPHoTVFZfxkR5HmZTqAA+aucMc/S45g2fHwgqO30IsmP7X?= =?us-ascii?Q?T0etILJPW1qxp4apv8Xy1cVMrNmSsdJn+Xhmq5lwO0QD/yuhSV+jkcQseI9K?= =?us-ascii?Q?V141VJu73Mhos6Z4IWqz9gL2+EMyk7Zm9wi3GF9jARFO77MHZvn+JJvqXQN9?= =?us-ascii?Q?ogXb+AADDK7QcLyl75I6rEodKFSqls5oWnM7jVNx0Ehlkq5BUGtES5oVCXvl?= =?us-ascii?Q?f10g8mL7AyZduweVA73UGi5h1bQRIO6SwHTq6MaLJTKRtYT0z2ZxxG9IhxEf?= =?us-ascii?Q?8COsNcmPy4z2mX0sALALKeK4DrpuQRaYYipruU895Pp+uDQHch42kqv5zBm0?= =?us-ascii?Q?xcraVBmS1dvdHaBjulRdL2av4Dk7VDgrE+oe43fThb0TaLO6Do6KcFnw7VXl?= =?us-ascii?Q?PAKZ8YEbo6CEZejngkh7fAsTCbOdoEYye3hRjMlbFtKxzOjlQT1B3u6Cv5WZ?= =?us-ascii?Q?z9MjxX//ZnzSZj17YdevH25AbzSjMCgnvKpqTmeb71K443Ao3n8hYqtWu55Y?= =?us-ascii?Q?c9K4l9w1YADBB1XZ3WEyYkW7LGtObYeHv/rV9FJGroyGU7/CpukpWPov53ee?= =?us-ascii?Q?64GdtplpIwA93q6GPt81UnGYnKI8qOvhdMUGYZ6J1/f+Q6CnZHYlHZivU0n7?= =?us-ascii?Q?qPgKz77Md5CgADi76BcEPycKjnvFMduJ3BcKm7P41DMqHq37Q35D/ifiRbYR?= =?us-ascii?Q?Yv3CWpKcyH5vrr5LYW994wOcjdNmIW3Ni3+loyUgdPcD9s95XVrZiP7dD8eq?= =?us-ascii?Q?khQijAn8SYVDVd+gWvgpnF0QK8bK9FeJVRMkNyb0zINfxgwVBypMe7sy2cFy?= =?us-ascii?Q?J4rKz8gSQUILoR8QYiwmUwkTeyCyEMSwbOmsvbrpXZVSRfiEHvtIzrUacXLF?= =?us-ascii?Q?7hMHzLawm2ekDS7XAZTY7IBwOw6PhB5yLJcQtyltMcMPsjvDhfZeTyph+Mg5?= =?us-ascii?Q?/7aFlKUAFcNpT20K3DGLv5AhgeSVD2Zg9/nHG3N/tzpDWwhOALDDEZeWXCyR?= =?us-ascii?Q?fG73zJqqGbHNsaYDUp5UTRQV7Q/OT3FBkYyBf2R83GUbGIaFI5qKUAl0btZ9?= =?us-ascii?Q?CKkGPLhGZhVmjNcX/jAeIw/4ul9Kitn33CqKwAJJJ6h3wBT0/zK9WzM3QYLH?= =?us-ascii?Q?Di90oa6CfR+ki4MBHA0n28EDO5UsjNff5kWuV8Ph?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: fd27fa59-1bf8-4e84-17b3-08dc011c701a X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB3179.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2023 05:28:03.3181 (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: PxOMgRzaJXUUpK+DV65NtLDo4LZPKdauUVBXJZSyNQ1ZEYONi5SpF29TtW0VAz8lZTvqv1GN74FarOOcmFrMcA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7417 X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 81C15180007 X-Stat-Signature: qi4xfb4i5wysq5g4mdx66x8wfknxozr8 X-HE-Tag: 1703050087-521761 X-HE-Meta: U2FsdGVkX198niXSNxz2BxcqrhfT+eZU2dee1boD5wEAY92cYYRmJMAlZ57CJ9y7CXzVc31FfMeVNhsbI9HftH7s6iKkGxJCW/x4KCAX2aPzdzNadDcRnfL4B9rREm6a3abGE0KNId9Xpb7AbLaQAyXWEJUYq7RgQv3QueqTcex6SnXlFg+2joCfA5W5yXbLI1zcC+cHZCR0Ho/Qtn1/I4RxvI64XZZW2dQ+ddIU6eaF+Nk3u23wS0bADwv+uc8Uss6ESs7gMExdyYpHmBEuEAALiqEnnFPg29VmeGdSDsvUOvqEUcAMo0oJGcM91ttP3OUvi84UCNHxTd6D24q7BjW6oeFSveBhPHBLuF+NoV5jtKzbpM7PJswKSEpFZtDTbvbJrrKHwhFfBkO2hhHsDfZe1EpZ2InIPDrK2SmWaath/stL/KSjZKktr5Lrcu4/7zaalHR9s4YHkHhCVCT2QXBLvuNbnWNorOMeCBl6uVxNlM50iHXXUR8EcjPS5Zp0PmCfFzhESDYRomS4MV59tn3z/pbKFYDVn2wKhDkpYNyNGqxuJQs03Ae+oFUQMVu8cjmr1d6kSWKhEn5VKI/96490E/8xrVckbmz1HykF+AMilAyG93XMhYFaeWpiZXI1jVChaJqtyXTruX67ST3b5hGhM7iEvm1x8wE/t+qbKEOiLmXfTdj05cerFO4omMc0azqf4gqNYTPgCmSwGW6imz+2HJAs7Pf9uq9ZijkH+9jstffZ8bKHhdFTzpS1VEZ+fv+k53uB/D/SypB2TkTDUq7vTdDfItcUd0fNHkQSlB9BBdJitAAWYuHm3OXnY1CuxvWuFFqQNihrqiVfvUk5EXDzcrsgDinDZdnlc2gZ2W7oW3jhdNH2pAtpAE+LQHgYBB9Q31xAPQmSF9qenbZEFsASMw8ikKTX1fsSeq/YAtT1BxdQPOkaL3ywQeNSjIPimGvXhqGDr1wf0BsSHMj o/2Ehj0z llGsEiP/wYofrUPGCxN1MNlOi/TLxee5utzIkvlzSzLGIVQ3pOtJJpBLSlbfAtu1cxX7TjeB3u9Jpt6umFyjqZbOHqK2FKc724EEFHkfXwSP3hE52PAvlXlxzc9fuW3fA1TnDGI8FbON+l0GoYXfT4W03OIH9J/uSL2v5z6DGpXRkrxokgdR9/dbOrRS/GT+wAWb546yEO8cRhOATt9wyQFD6bPI7sW3aAPwAQqWwEGcHly7so5lrVZ4gqQA35NJjBlPthWMqYlaIsOvvsC0TjvOa3JM62MYHAilNmj90qQ1d7KfqR7jqzceGO2HIXwBc6a7P 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: List-Subscribe: List-Unsubscribe: Ryan Roberts writes: [...] > diff --git a/mm/mmu_gather.c b/mm/mmu_gather.c > index 4f559f4ddd21..39725756e6bf 100644 > --- a/mm/mmu_gather.c > +++ b/mm/mmu_gather.c > @@ -47,6 +47,21 @@ static bool tlb_next_batch(struct mmu_gather *tlb) > return true; > } > > +unsigned int tlb_reserve_space(struct mmu_gather *tlb, unsigned int nr) > +{ > + struct mmu_gather_batch *batch = tlb->active; > + unsigned int nr_alloc = batch->max - batch->nr; > + > + while (nr_alloc < nr) { > + if (!tlb_next_batch(tlb)) > + break; > + nr_alloc += tlb->active->max; > + } > + > + tlb->active = batch; > + return nr_alloc; > +} Agree this addresses my previous comment nicely, so you can add: Reviewed-by: Alistair Popple > + > #ifdef CONFIG_SMP > static void tlb_flush_rmap_batch(struct mmu_gather_batch *batch, struct vm_area_struct *vma) > {