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 C7EC0C3DA6E for ; Wed, 3 Jan 2024 15:10:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3B9A66B039E; Wed, 3 Jan 2024 10:10:44 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 369D66B039F; Wed, 3 Jan 2024 10:10:44 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 231486B03A0; Wed, 3 Jan 2024 10:10:44 -0500 (EST) 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 11D9D6B039E for ; Wed, 3 Jan 2024 10:10:44 -0500 (EST) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id DDC224036D for ; Wed, 3 Jan 2024 15:10:43 +0000 (UTC) X-FDA: 81638336766.26.EDE00A0 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf15.hostedemail.com (Postfix) with ESMTP id 3B2ABA0025 for ; Wed, 3 Jan 2024 15:10:42 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Tp7oRgzy; spf=pass (imf15.hostedemail.com: domain of jszhang@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=jszhang@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1704294642; 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=nr8PVtrtaTMjckH8H7MeI3j5XR2ut8jHz2n9vGAK2Go=; b=phAED6yJZQd2LO1xJP6rHXLyv7WM+15OOPN6zh+m1TUYTSJ9PPjLj/PAecMMDCJtZn++Ci rzkWGFOOfzAxZtasR5d/LOlNC2caNfsg5B9tVKFCQjNjEhtXQDVmBCM9uEzByNazLFhw8a FO41d3rzTIcH1Gr+Giv8oVzZQTkl2Nw= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1704294642; a=rsa-sha256; cv=none; b=7LXejSzguR1aFE7+ChdR2HKmvIlFvU0CnIFTpY0lVXbrwTAxQQytCVCTFxm0J5NuyCSpjY 55XzWgSBC7Rfcday0w3huI9N5xLWGkaFJVLofv/xffdctVHTEH7avHM+HZiAITgZ6a66Ux j+Zs5M4HWA5w2dyKASzjqjDMMwlBkpc= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Tp7oRgzy; spf=pass (imf15.hostedemail.com: domain of jszhang@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=jszhang@kernel.org; dmarc=pass (policy=none) header.from=kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 257A5614DE; Wed, 3 Jan 2024 15:10:41 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5E6BEC433C8; Wed, 3 Jan 2024 15:10:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1704294640; bh=NkRRzJNtkIaqD3FKoHNbeRWvalOUr4JWu2/1EIqaoKg=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Tp7oRgzysGa93W3YGZKULOpHNoDKsXBqBy7chiOvQRihBgJAypspwLbYkCRdMiPS1 CG2X/bi28oBBjMJHWtgVvI62dmPslcmBad0n8Pbi/SSbAjHtVk6TRZv935ARL7q6oM vax735NBXLFbcWKHhd4LlzguyudA7vws5JovhRyOFYNwdRSI+aEoqs73RZApf6Em2s jHX0dEp9SRH8GF/4vXA/HVrRoXsmyrEPU9v0IsyLLWD3CxgcflqJ8imWZunQyfM8KZ LOLlWOcdGlDfjBpcKFsym0/Nzet30kg3hM8pkILeE01GnkyOGInXsc8j3HYsmqfKPs EDq1ZBCvZqcKw== Date: Wed, 3 Jan 2024 22:57:58 +0800 From: Jisheng Zhang To: Samuel Holland Cc: Palmer Dabbelt , linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Alexandre Ghiti Subject: Re: [PATCH v4 04/12] riscv: Only send remote fences when some other CPU is online Message-ID: References: <20240102220134.3229156-1-samuel.holland@sifive.com> <20240102220134.3229156-5-samuel.holland@sifive.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20240102220134.3229156-5-samuel.holland@sifive.com> X-Rspamd-Queue-Id: 3B2ABA0025 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: 48d18pkbpta1m7jcfijwqrah63w5gs4g X-HE-Tag: 1704294642-316807 X-HE-Meta: U2FsdGVkX1/5tdz72xLn4T9G8BHh3aYfL/svQBLvy0ZCFetKULCE4uqnsH28UohKUbqM/2M72ITev3lRmpSsGfO8pKagUkh0Qoa4gOEf/KM3mO8axsMCi9v40/4B2HH0h7mMZA1FD89PddTdNqJuQV1nm0/Oyp6quAOSqM4jDO1vsPrSblfZKr86bpU/IX+B1lYfV2f+qtBVSrkXMx0gp+T/ujqr+qKHhgSeH/leaQnPWshNntteWU1WY9CtSem2BlQsMFsrMujWgOOzHlWhPHDqckWt/v4ye7XUBnypRtGqysfNUBux7kawycbNcczEeYOYrU02T8CzZxkrGaH//2CnSwWfexTDmeudv7sLnFLIffwR42xm5saw8GBQoDF2aRyYhyan19dAItj9Hlo4RftarNAojofVCBuoMsOJ0LS3pMAws/8xswa7Qz9Ywo1OGb8+FG7tfYeE4zKrl30Gf8e8FnjllUbiCfv8I82W4ihASbhYzZL+7AaUTeuUJ+WBQbiaCcbL0N6ZbvyxKenPe48HRGcDWKsr/BgJo8BPxZCi+h5NjadSIV8vb/CtpZZ+Dcj8IWTaiQAMzKaQhiLUEJ4VAg9KMPLoRVoH+JhOuE1dOEayDC3SvMeBKwPXsdQbtRyZJSG4GnQkplv5wAh8A45g/+pmw5f7EZUrA+fx+IszTAV9TQioMAf1pS8Z1ky9wU+CScVESzUmsXVPVgvxtkU0tenXzeCDTLi5kYKbe0okejrmwOs5BaX9H4ucpAhDYUSExKmigMsJTkN4J3sH2oJ6FpI5rEL6xwyQzTAVd8Btdhaa682OoJSSmknzI9fkZ0vTfw2ocDk6nmPI7tBLQL7qkPON5WsqUO3xPKIWA1qtKOyo29+cXt+3OQ5PUmIDj21ZqX6I0UhddE8A37zmjfzd+O6dXFNRfcE66lJpUWea79jhoE+6pWeun1Zwb0+42QMVAd+WzsfWXO3DrKw vUV7F+sb DCVEcf9zz29nhu2QwcJONq29EQ2qr5tHxkd8aIaX7ZUefSq1tEfbsOzVJRzZLahipsJ5tVpM6jYIG96z3fnRjwhgEOV6rdOJfNb2p3iUey5n2sHKk4uYbBZ8PQiPeIri0Jt3yQItnQAjtHRqkMbp69uhQO16B2mPrylbLns78SC15y3pd8w/3gDpv2SgC0E+cyZy/i0TVC8355j4Q8fcBa34Qn1I4r1VluYmt18Gi3OEvTeoWPb2ln5xsZ/ezyYGnzhBEJfu7ee6lJgC9qRX5A35d6acVd5sM91WTxvR7A93YpMzTeTa1wynzLw== 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: On Tue, Jan 02, 2024 at 02:00:41PM -0800, Samuel Holland wrote: > If no other CPU is online, a local cache or TLB flush is sufficient. > These checks can be constant-folded when SMP is disabled. > > Signed-off-by: Samuel Holland > --- > > Changes in v4: > - New patch for v4 > > arch/riscv/mm/cacheflush.c | 4 +++- > arch/riscv/mm/tlbflush.c | 4 +++- > 2 files changed, 6 insertions(+), 2 deletions(-) > > diff --git a/arch/riscv/mm/cacheflush.c b/arch/riscv/mm/cacheflush.c > index 47c485bc7df0..f7933ae88a55 100644 > --- a/arch/riscv/mm/cacheflush.c > +++ b/arch/riscv/mm/cacheflush.c > @@ -21,7 +21,9 @@ void flush_icache_all(void) > { > local_flush_icache_all(); > > - if (riscv_use_sbi_for_rfence()) > + if (num_online_cpus() < 2) with patch5, I think it's better to short cut for !SMP, I.E if (!IS_ENABLED(CONFIG_SMP) || num_online_cpus()) < 2) so that the UP case can avoid a atomic read and check > + return; > + else if (riscv_use_sbi_for_rfence()) > sbi_remote_fence_i(NULL); > else > on_each_cpu(ipi_remote_fence_i, NULL, 1); > diff --git a/arch/riscv/mm/tlbflush.c b/arch/riscv/mm/tlbflush.c > index 2f18fe6fc4f3..37b3c93e3c30 100644 > --- a/arch/riscv/mm/tlbflush.c > +++ b/arch/riscv/mm/tlbflush.c > @@ -73,7 +73,9 @@ static void __ipi_flush_tlb_all(void *info) > > void flush_tlb_all(void) > { > - if (riscv_use_sbi_for_rfence()) > + if (num_online_cpus() < 2) ditto > + local_flush_tlb_all(); > + else if (riscv_use_sbi_for_rfence()) > sbi_remote_sfence_vma_asid(NULL, 0, FLUSH_TLB_MAX_SIZE, FLUSH_TLB_NO_ASID); > else > on_each_cpu(__ipi_flush_tlb_all, NULL, 1); > -- > 2.42.0 > > > _______________________________________________ > linux-riscv mailing list > linux-riscv@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-riscv