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 356BBC001DF for ; Tue, 1 Aug 2023 01:12:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 411B12800BC; Mon, 31 Jul 2023 21:12:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3C1B028007A; Mon, 31 Jul 2023 21:12:45 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 261A22800BC; Mon, 31 Jul 2023 21:12:45 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 15BE428007A for ; Mon, 31 Jul 2023 21:12:45 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id BECAA1C988D for ; Tue, 1 Aug 2023 01:12:44 +0000 (UTC) X-FDA: 81073761048.01.800070F Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2041.outbound.protection.outlook.com [40.107.236.41]) by imf21.hostedemail.com (Postfix) with ESMTP id 6D7B01C0016 for ; Tue, 1 Aug 2023 01:12:39 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=UEs4ME2m; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf21.hostedemail.com: domain of apopple@nvidia.com designates 40.107.236.41 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=1690852361; 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=bv/DL6iIC2Tcnrg3BZ6KJ4AG+BKC4PPKHnYe+AMd7x4=; b=pVK/if541JubxiJ5RIiQFXrNXpX4UO4gd2SxIDzhz59KRx6MQdqsq0W8QzA8iCa6wHVoZJ lpZWIQWJVegAvqPElKQMpgqWGXZYumm/0p4JpGIV2Vd/FQw0mfzV+4ABy55ZEGQCfXT/c/ sDZ3J/cZW00tVX5WHeYgIEGp4IhfNqw= ARC-Authentication-Results: i=2; imf21.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=UEs4ME2m; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf21.hostedemail.com: domain of apopple@nvidia.com designates 40.107.236.41 as permitted sender) smtp.mailfrom=apopple@nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1690852361; a=rsa-sha256; cv=pass; b=S+qn5yI2+iBUzNeku9YFcnvqLFhvgSmvmdC4RegZUdGP7ysb/TbY76kdJUzf1Z8EoTtxfh hblug74Y6HBWoHSWKC0nTq8CZ5t2nwaXpgVJODBx0BW4m2mTf5t0W3uv6DXvDCWJWIZYju tY9J9ULKYfkiMac7xPWgDGLs8+/evnY= 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== 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> Content-Type: text/plain 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-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 6D7B01C0016 X-Stat-Signature: cn8tn9ft6mxddso6ds7ytyr4gx3m3pga X-Rspam-User: X-HE-Tag: 1690852359-733233 X-HE-Meta: U2FsdGVkX1/3fWFGsc33xNbOIF7HgwuBymyAbS2VnBxDdMIETJZ9kXspcpjS45kR+ejpQRnO+66uNF1w2gzirAEVSBw6oPF8gmyz396RrHTpUiE+eN2iNl4BByXA+/FHxze1mHaBZCm9rv4es0cY5r7dbDXAHVRdveBjbV8dSpy1Aeg2foM/sqXQy/EgPuaFX14ZbVHdejESUyO9Q9cCFkDMPcKpGOuyXrW2czPJ0zt/JyQGTfuE+u05HultOK+XXYlMD7/cld8IlwAKhQ7kDmoinJRe5ai8a+WlrFav7V8qyrVIG6132VnGejLz82JZDdiPr0+2s17L8JRLVmm5ln/7mM23kEc0Tgqxr6lGw9XKEQFXFVP3a5vlbbQuRyIWr3/L+1iaL8FwHINFb5mz5JL6gpDKoWgDR6nGmbTWy1ImzpLLKcR5AJrouFlTQhVWtBvyTDQn0L5RILRpP3ZP5h/10sFRZdWvB4WanlwDRXGgaBP4kgV78aKuPZRE5hZomhgESET8h5QumW3wKmRuzMZ78ggrJKwJ6M3xhrhnrVv/PUUxaWhCBiKMkBvak7ky0xmWTxmGtWMRGkt+w+sm0AQcUG4bVY8/QJnTtf7l7AoNhqfkj8OyVlCTrvRhXNgpc2MBRSCPN6s/i7aWJEiY/oXqJ1TDIW80fMvHd07jPVH1R4owwxwNJfjnBfbmnVXfwDzG8VL/ATCTAVNrCgkSG66CVmMg/4STgYWINuLcdNjxmMgHBuAgdXlLgApPV+AR6Vw8eZckeb4vChZ2IkRSLzkcTEXivQpm7+bYiS13S3ko9Ae3HWrWbtSQpQEuwlJFGCMjQzz+zc1fV3ka/k1oTcZr+EOSiaexOI/B208SyTWfBZuPAHASfrTwUMImAXCEYKbrCna3RPJ7wwQVSBTcCvXT5Gy4a0tpH0F1DLhIYXmtsJWfELLn3mzwRJSnOW+1GmG1eqLtyy6qiu8eGdM Wm/BmQeb j8Vb1TVGU/gM7FfvHBDgU55InYRVjSOpw84PQMPhFMvS1woljgy2pTC2Cp6fNkVUl//a2HoERHxzOTxBjozdjepZAGzJ1OgZlOO5GesC2fiIF1QxL57vEDGgL8IYjulBpj6C55pmvQJzZF14tOnX/hpFQc/pDDdxNqHbCBcslxayJhaxWEIqPcFoXlF7mTJb6Xx/lJkWWcgyl8Ma4XY/wPS2LBBkXHTD/yqaTYog1UXSZFCVMLU/K6GbEi8+j0AT7pxJVdbC0eRbLFzQy+gV1Lj/bzDi1iqDZ5y3+3KbvYXH8spAtNFlubhXs7Q5Eag9JZgpHfBvQXEE4UTZ7K8tcazFLyLoUYdT/grfc 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: 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);