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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 6CE59C001DF for ; Tue, 1 Aug 2023 01:13:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:In-reply-to: Date:Subject:Cc:To:From:References:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=WQ7JPI1b4BseigZHggIoxmABVxwT9o3D9zZItqB8zkY=; b=0tJP3fi+wHvTZ3 G51NDJ8SPMxFwveflbUaYSBqS+9yQlwwT/7BxZdKDyvEVIA8mfSDTYuTeeAvMXbYLZwGSmCshMTOU 9QOkOKI9GxWIp9Wh9tHKvSTb3XXIJ2NiZopla8S4YFoE+5LYWvPAwc9olV3nNWFVCpKIEZUZgCCUK jq19UKMlFSMDEzqSYtiPvBbr2dFgXl5UkHpf/QfQ0nMRYvdfn/eOVkU583C5myrrFvkADlqTpDTFN IjSvxIVcWcas6qTorgshNTuN76cSUColBCoW84b04qbhBBxVDgzf7YB/vrlpv8Zhn0LkTO3z3sQKh 2X0Hfmo+XBuwJ5voX0eQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qQdwV-0007U5-0Z; Tue, 01 Aug 2023 01:12:55 +0000 Received: from mail-bn8nam11on20600.outbound.protection.outlook.com ([2a01:111:f400:7eae::600] helo=NAM11-BN8-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qQdwS-0007SY-1t for linux-arm-kernel@lists.infradead.org; Tue, 01 Aug 2023 01:12:53 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YLypmwsG5nMkZWgKF4oupnTQAYZO5tOj9hMgqDLfYNKq3ql9JXGDqYuOEa5922KKgYo98h79onDpLPd4FqVpYLgyxE/JLkngyT3iH+fBT9vfBs7zaaVFv2Cns6po59Jm2eAgJLiUYudQf5UWQnSMliyRhUUMx31e1Ww6r5B0myeTNaKQIJAJQDt6Y7IjOM6c3EZFjOOwHvJgCaS+s1y4HadU2mu8IVK6DVvC34Q2SnvD5M6KpAk603ba/aPd8AB1kQtdu9XuawVZgQXNwobiOS/fPbChMAu88WvI2NDBxD2Lh6zuVOz7GgybPsneEYXjG5buiOZmXr+e8katlXXSkA== 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=bv/DL6iIC2Tcnrg3BZ6KJ4AG+BKC4PPKHnYe+AMd7x4=; b=ROZR4OROUSgyuGOqwTn5nc+2p/NhWR3w9oEmqK30Kkwc1oJtFDIsKXhS5rzdpwc+Gdlg3kc0+M9GuwhjM41RiZfExec6AoFDHT3jKtbBeWdHRO1hpiO3etGwZYeOrTNQsWJWSP3Cr8wXhNkrCvtYnMa5724pNQVywla4iwVJ0L3zvZJJFOITXGDGuIqksp+34Rofs1sx+bkW/t0BE8058BVxgIU/Wm4gGUYytl+AO3xdQvOb/hTIY29gKN//l+nR0/WywAQlLWkFDWzWY+ZZDbmEf4jb1UgPD8KRs+LIUMv6keJGpNY98PAeG8Nc5UMuiWwbT7yjoGQilo1CKkp5kw== 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=bv/DL6iIC2Tcnrg3BZ6KJ4AG+BKC4PPKHnYe+AMd7x4=; b=UEs4ME2meF7Au+qmMUGb53zIl8MjIGenSpAJ6AuEl+6xKxdn4kY/GyedNCAJ9z/mgvzLSnh7YVTGewaP3mmPElCCQVUCorJUcvh4VD5qIFM5GEI0Pe+ruM+Ly74qY/DJ1ffia/4oG2zJ1/9Q5XBIXyvzsO2jKTvjPLhmmx7eFOzqhi3VDj3g7X41b4u5fKlFSe/LxU5D3E0zsLmBegHR72aSFQ5s6cWVFDbaThiwpWlZmVCDZN/J5DW7hd7DTPfpEskH/iu9q5XNYHKJ+M+1sHTqmIpalbJ8ttgBmBiCDaMmGVsQk4eeD4wn179W1YhKFgETMQTfwaGMyDPbNfkV5w== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from BYAPR12MB3176.namprd12.prod.outlook.com (2603:10b6:a03:134::26) by LV8PR12MB9406.namprd12.prod.outlook.com (2603:10b6:408:20b::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.42; Tue, 1 Aug 2023 01:12:38 +0000 Received: from BYAPR12MB3176.namprd12.prod.outlook.com ([fe80::4833:a16:bb8f:7a11]) by BYAPR12MB3176.namprd12.prod.outlook.com ([fe80::4833:a16:bb8f:7a11%6]) with mapi id 15.20.6631.042; Tue, 1 Aug 2023 01:12:38 +0000 References: <20230729131448.15531-1-yangyicong@huawei.com> User-agent: mu4e 1.8.13; emacs 28.2 From: Alistair Popple To: Yicong Yang Cc: catalin.marinas@arm.com, akpm@linux-foundation.org, linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, 21cnbao@gmail.com, yangyicong@hisilicon.com Subject: Re: [PATCH -mm] arm64: tlbflush: Add some comments for TLB batched flushing Date: Tue, 01 Aug 2023 11:10:37 +1000 In-reply-to: <20230729131448.15531-1-yangyicong@huawei.com> Message-ID: <871qgnd0qt.fsf@nvdebian.thelocal> X-ClientProxiedBy: SY2PR01CA0048.ausprd01.prod.outlook.com (2603:10c6:1:15::36) To BYAPR12MB3176.namprd12.prod.outlook.com (2603:10b6:a03:134::26) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR12MB3176:EE_|LV8PR12MB9406:EE_ X-MS-Office365-Filtering-Correlation-Id: 588ad80a-69d9-4166-3117-08db922c6563 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gpoVEm8+UvkJ6F2M+DorUyE03Hmr1kN6TXnUFPyIU7sptUyTWRfZBa3LjRgKadi2F3Y1zoAJ9Z157KyjRGYzZhEc0qwkEd0B44eJ4IiJmQD9rz113j6gnS7/7lAhGjwlaKvxUJhipZ297AVK8CWX7uo0yS4HPtx0l1sZXBrz+B7ZyX6hThqCpDMV/FEwCeWxcmfK1Lu2M4iYy71dsx/1KRe48oThyBLqcIGSUFFD5pxqKHJIX1zH2ZJOxyPNtjdtVHhRX7w4Ggl7M01QMuauDpGtVSKVm7hm1xDKAheHXIspVOtk/UDahWJo9OBu6gN2RacQj33blN4+iY229l9tLRmVSHJxp4Q5ATWu+4fICz6yL2ly8NN7hozh7HCgbV8oB0WOjRJoxsYy2XGodjAl0Aw7p9hQK2eIrmY/rsREb2i2CGPJcKexIsncyuCUrdYI4GNebX6UlQNElcgnP2Zjz0Ozv/qh5Y3RPj9YQ7lL4SlYxTxS2D6qV2DMc1AIPLrARYusee0DyvXxX2KPPRCbm+nLWcL5jAL0nelL2CMvhr0nqCW5O2JbYuW2Suiqu89x 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)(136003)(376002)(346002)(39860400002)(366004)(396003)(451199021)(478600001)(38100700002)(86362001)(6512007)(9686003)(6486002)(186003)(26005)(8676002)(8936002)(6506007)(5660300002)(4326008)(2906002)(66556008)(6916009)(66946007)(66476007)(41300700001)(316002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?jh+NdPxy8hV2oZkuIKELXXyHqoNNZQ/ZEtGB3Hr18nD+vKjjJYFuEvRLNewJ?= =?us-ascii?Q?ZzK5mZLTHi+/MiWfNv5FnOaf2ZUAhQdYbMs8bjPybSYUjElfzeA+t9l/ccP4?= =?us-ascii?Q?YkgaaNOsiMEqrMJT806oEtpUSbyfwX3PI/EZB3JprMotijj1KrCVg7VVwP6G?= =?us-ascii?Q?jTfwJ1ZejJdwMzq/9QWWKyF7oSef1+wTDxQ8OCwsGcRqzb2JaUi3/fEVvvKl?= =?us-ascii?Q?V2U0R/CZipolgUsQVqZrp2PKRfuG84+Y8zCz0gaLz3/pHSjWlEAxyfvXTD9F?= =?us-ascii?Q?LL2hhnIDsoxDMqdGwy293mY8Db6+0ZOnktpogyKpy8gOi4KcRZpVtU8QCqVI?= =?us-ascii?Q?u6sQ75KLSr39Bt1RsOebOJ47ttes6s3Sx6M0l/FDSQpvdk+nOmkk2ak2bmbd?= =?us-ascii?Q?Ka0BT8Fmgj9cRsTuWbnezNckHV2toKfJkG5ZYuHkIHqNKoo26dr66VxMRuDL?= =?us-ascii?Q?MA2AMvvVY93HTWYCSeOElwZ2ig5e4BIgeLUXL5TIjYgXq/Tg1rzwWcBaynIo?= =?us-ascii?Q?U3IKyndeVca836ACMofFjKbOVAy29gbJwBrTntVGrwuhCgEZZZXNdXqIpsw8?= =?us-ascii?Q?M6B5DD9U/uLbGmU+qxXaiPUPdF3qQyBtBDKy/NRTKGB8NVJTMxuUHY3J02HX?= =?us-ascii?Q?DbvgYY1vxEqNjYiU2oISC9PrP/1pNDjqTyrtpnhio0diMHPocrTiBa5LPTwf?= =?us-ascii?Q?6F0oZra4pcPhbYvYDA88pACzE4AQncWcgre8MyXIGMXuu441Qqxu7BmIGgBn?= =?us-ascii?Q?cOtNpwCqvvWKLZMtReYE0voX2oihAJPdZsdGrI/1Fy+I7ErP1swabQSvjHtC?= =?us-ascii?Q?M3sjjQtrm81bjXj2yncDnhMm1MDWU0pgp5NXhwWHLwNzEVn5loKu7S6g6TGJ?= =?us-ascii?Q?cmaPJ3brDWlwIbHgHUUqN09L/MaVJHd5RyWFW5ppLnEnMO//7gjXZETY/DqZ?= =?us-ascii?Q?Z0zbqXIDuoYPLV352pfScLoVyWm/m5ZZ1QL1L0W+NPEVHf7Y2lnnpPJoEhVq?= =?us-ascii?Q?NWNvABOTxVyIphv4l3Xdc3y/2d+t01JUrLkX5cyOUoLh5hZIq89L+0TvRFB5?= =?us-ascii?Q?ZVHnthct9UR/NKYiH51prD+GAQc9dlfP8BTnuCLnFAWL9ICWkza8RBqqmw6E?= =?us-ascii?Q?eS9f5QFRv9oR9RNyB5L68rhLYQb/8kJsXr+VyvfzQ0Es5AhdXwLcfZ8HaRbA?= =?us-ascii?Q?8+0z2tuN2FYdB5p1Rae7yK3ciUckIRGuOwbNrPOP9OPlPrMlkjl8hKMh1UH2?= =?us-ascii?Q?yY2ewANSkcTUlbm8BVrMAoHILH/giL1+Iqe0UfKpX2J2TzMsaNzLk+QmvnOZ?= =?us-ascii?Q?LwK8JYaSWakauaj2JX2zCuqB3+lUpODoY6eExtiiC6zfmK+Xw1+7W0R++IKC?= =?us-ascii?Q?KM+QHD0egQfvkPeAfzhuTYVqXggMTjIPnUEW2qiDkZATIGXSb9ii2DFVuE+Q?= =?us-ascii?Q?GuJmbHFjeYvnp03WE2E/W1BbztUcIdbW0NPyp8FI26jn7SYkAidIPzk0yYrg?= =?us-ascii?Q?OGkNs+G/HHY3KOIgiCaGNpqIFR9wy1fzLZb8fqR04dPjmNFmiOThS3oaNwkR?= =?us-ascii?Q?G/cZ4s1oNn0MerLoGD/FylJFdD0hKs3ABrn6wa4a?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 588ad80a-69d9-4166-3117-08db922c6563 X-MS-Exchange-CrossTenant-AuthSource: BYAPR12MB3176.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2023 01:12:38.1917 (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: F+GwYz/6rveDDV5T8Gs40458aoYMsimWzVjQTTfXQfH4XRS9S1cPKx+rUvseBr23PLAvRSvzGNY6ikvujEG5EQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9406 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230731_181252_646485_1206787F X-CRM114-Status: GOOD ( 18.32 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Yicong Yang writes: Thanks! I was reading this code the other day and it took me a while to figure out what was going on. These comments would have been very helpful and match my understanding, so: Reviewed-by: Alistair Popple > From: Yicong Yang > > Add comments for arch_flush_tlb_batched_pending() and > arch_tlbbatch_flush() to illustrate why only a DSB is > needed. > > Cc: Catalin Marinas > Signed-off-by: Yicong Yang > --- > arch/arm64/include/asm/tlbflush.h | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/arch/arm64/include/asm/tlbflush.h b/arch/arm64/include/asm/tlbflush.h > index 3456866c6a1d..2bad230b95b4 100644 > --- a/arch/arm64/include/asm/tlbflush.h > +++ b/arch/arm64/include/asm/tlbflush.h > @@ -300,11 +300,26 @@ static inline void arch_tlbbatch_add_pending(struct arch_tlbflush_unmap_batch *b > __flush_tlb_page_nosync(mm, uaddr); > } > > +/* > + * If mprotect/munmap/etc occurs during TLB batched flushing, we need to > + * synchronise all the TLBI issued by a DSB to avoid the race mentioned in > + * flush_tlb_batched_pending(). > + */ > static inline void arch_flush_tlb_batched_pending(struct mm_struct *mm) > { > dsb(ish); > } > > +/* > + * To support TLB batched flush for multiple pages unmapping, we only send > + * the TLBI for each page in arch_tlbbatch_add_pending() and wait for the > + * completion at the end in arch_tlbbatch_flush(). Since we've already issued > + * TLBI for each page so only a DSB is needed to synchronise its effect on the > + * other CPUs. > + * > + * This will save the time waiting on DSB comparing issuing a TLBI;DSB sequence > + * for each page. > + */ > static inline void arch_tlbbatch_flush(struct arch_tlbflush_unmap_batch *batch) > { > dsb(ish); _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel