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 750C3C47074 for ; Thu, 4 Jan 2024 15:50:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E2FF46B020D; Thu, 4 Jan 2024 10:50:51 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id DE0546B020F; Thu, 4 Jan 2024 10:50:51 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CA8346B0213; Thu, 4 Jan 2024 10:50:51 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id B9A6A6B020D for ; Thu, 4 Jan 2024 10:50:51 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 838DA1A0A10 for ; Thu, 4 Jan 2024 15:50:51 +0000 (UTC) X-FDA: 81642066702.01.8D8A708 Received: from mail-il1-f181.google.com (mail-il1-f181.google.com [209.85.166.181]) by imf20.hostedemail.com (Postfix) with ESMTP id 9F7931C0016 for ; Thu, 4 Jan 2024 15:50:49 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=sifive.com header.s=google header.b=FkEh7Xsn; spf=pass (imf20.hostedemail.com: domain of samuel.holland@sifive.com designates 209.85.166.181 as permitted sender) smtp.mailfrom=samuel.holland@sifive.com; dmarc=pass (policy=reject) header.from=sifive.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1704383449; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=KmpM6mBQQhHv/gSZR2zG7ER6CNMKk8ullD4Z85B1/5k=; b=BAvPJH22meGQQWeu5vkYvqEB35U0/YtylfcLXH+xyFlIK8SUxVCHThk1D13GEPBXE6NDLV SLDxm3oQvAcN/snRwrNODtRJmO2EPWD8KQKeiw85d3veg1TZJ80qtuZGQnf318kKXw64eW 81QGfmhndbjYYjab//LWGFw0NaBwTkk= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1704383449; a=rsa-sha256; cv=none; b=T7oPoL8rVHbJ2htf0WJV1uh6K2U4hjontK8eH+Sp3zEQDf0Ys8YfQSV3UP7nVe4lSVnAME NgRPbrEUu0GAfw8gQDgdZJ9RIeHdilvKwIHNIG1Np2DSUtFA62oMVu0cgOtZGnCTifVLcE +iYGK5bYUTEpGGW6uonU58zqrPpWatY= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=sifive.com header.s=google header.b=FkEh7Xsn; spf=pass (imf20.hostedemail.com: domain of samuel.holland@sifive.com designates 209.85.166.181 as permitted sender) smtp.mailfrom=samuel.holland@sifive.com; dmarc=pass (policy=reject) header.from=sifive.com Received: by mail-il1-f181.google.com with SMTP id e9e14a558f8ab-35fc6eb9075so1831495ab.1 for ; Thu, 04 Jan 2024 07:50:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1704383449; x=1704988249; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=KmpM6mBQQhHv/gSZR2zG7ER6CNMKk8ullD4Z85B1/5k=; b=FkEh7Xsnv4RKnyg4yS4/dbLFtRtvvutcGozxJ+DRv29Ekg9WtVfnV39anFhQalcisN KuItL1SErviee/EmadqHG3zEr2aq8dOiDzyENmnQc5Aw8MdJjgPFy8MWFs66MDKs+hed 8UbQpeEMiwIK6MCT0bK/v+CBFwpS4wUU5lul62u+XyseFxa1UZqfrgX34ASrnVGs6Ywj qz3aEvw9OyfD4j+++VfCzF/H1BWksqqwTMgKs6rqQsVonTCdnH6XQI/VFqjNEVYBQcP9 19s83SuQMwm+3cvyVRJI8fKXVmIL1mu1UzwcFdT8hiC6HsMmzlUIsdNxTLP9xtQO5iUs Tz7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704383449; x=1704988249; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=KmpM6mBQQhHv/gSZR2zG7ER6CNMKk8ullD4Z85B1/5k=; b=uPyyTTY9xwsM4jmFNWarA/3StNaLgkSu543YNpZVn/sbr9p1H/8TANnnLl288XrrJw bxw3aqtafgBKnEYbS3BbTa0XNaRIcrKTaH4xUdPxXEDsmtcnYNtOQrqm7DlIMJaTvW+3 OKRMP/F3Au5JrQKTSJx6xnDkzk2AAPFiIZevtnnZglxOz+WV7AC/btSynEqBAxcBT4v0 17XI1QBvKaV/Twvq4F8Gu6E/euKoP0jD3jAz9ltpymh4ZuQXoSBuKqOVwfpyIfMo4Ph2 gk1KLLVCS33oTl1+DjJK3WGm1sdbPi5Cm+r4hk62RfRnt+RVrwJKLro71o2QadOIY51Q 6M8Q== X-Gm-Message-State: AOJu0YynTdynCf3wnognrgr3oLufbbgyFyZOupZZ/cMVuCw+rYw8qrbQ sbm89QosYMioK+t5DTWV+efWXdVCRqtSgA== X-Google-Smtp-Source: AGHT+IGblrtLVD/taGoGDW+hOtY7FGSidp60/B4QZjgm2pnNBR6S054TRz0oEA5w0xMcz2qB5XLKCQ== X-Received: by 2002:a05:6e02:1aa5:b0:35f:a27c:e76a with SMTP id l5-20020a056e021aa500b0035fa27ce76amr474841ilv.9.1704383448854; Thu, 04 Jan 2024 07:50:48 -0800 (PST) Received: from ?IPV6:2605:a601:adae:4500:b86c:e734:b34:45c6? ([2605:a601:adae:4500:b86c:e734:b34:45c6]) by smtp.gmail.com with ESMTPSA id ep24-20020a0566384e1800b0046696ea033dsm7981361jab.146.2024.01.04.07.50.48 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 04 Jan 2024 07:50:48 -0800 (PST) Message-ID: Date: Thu, 4 Jan 2024 09:50:48 -0600 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 12/12] riscv: mm: Always use an ASID to flush mm contexts Content-Language: en-US To: Jisheng Zhang Cc: Palmer Dabbelt , linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Alexandre Ghiti References: <20240102220134.3229156-1-samuel.holland@sifive.com> <20240102220134.3229156-13-samuel.holland@sifive.com> From: Samuel Holland In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 9F7931C0016 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: z1fi1uwkuwqywk7qj1xxi8gpauryp9w8 X-HE-Tag: 1704383449-478369 X-HE-Meta: U2FsdGVkX18QRHcAc5sxuPSAbl030GytOpwwzWNThYNDdXikswbw5BWtWgs+Q7rOKtGo+pNWBoJnk6bQ/k0n5Fz1cc3p/1CFTY90Yf4QwKLCpsO72Kt23RaLJiXBdBvfdCoSR7e8j142dYzdFSM+Ya5gCmQXRsppkzZHWwPQyL1XM6Rsg82YgFuCrxQcRSZfzMuthnTSHNTptttJcDHjfLYAjW/tPdArZv5OYUnqaDmoeNXRp2LxBmFZ4Ho3EC+LAGR0M9eU9I6pTV1UcmAhjW+KGg9wrDoGsPQjuixn50FsT/7AFTLRQhUWInOaOcG5miwnINFgfAI3b05Jz2eu9ofSXSrBZD9nQ+vtycd81j6xDPKj0fyIFHfm3bq6GARZk4kV2uLeCaW1/cjzjxoos84bFCbpC6LsoHn/DQT9uyGLiFp97f6mgk69QpUIOjSphUS7Nw9xiQNP1Md8xxhYRNa8FsH9GickkU3XLUlXSvZoYu8G7VlCbdMyxq2R+lC1OyFVi/NA1tMrPms2Bzos7gOdf+5ay72225JRagj7K/qMCMEHcBjnjARJQdLeJGp/raLLyp8s8FT7lvDwQjk5VlEr1mlQl6naVh2JGXNbBXid3xGX3TXDWRTfe97EjOtZBke2+LLX9feZZ06roc0oIozQji7MQ+p0qE+sPkEcpY179ZuWfC28XKvMG4pDsycRMHcxT6bhl+5js1u3oOKhaDyn7wegM529Pnqjq7yAl8+ZFK5tSfeweLCIl4MoQzi44EJM5dRQjgbi/MsH57ylFjkqZjmpekdStBS2cnawug6c++CrdmaXA2gQ9uLxMi0+A0ts5q56oHdrSW4JsXiVPslMycwixs3IwVwRftSkhtUc8f+4B1eJtyhon5YKWFCne3chE/OiRllsJ/vcADVKm/aQzUELYGzXvzdBSwJ8HJLQxR5au4ESxqGnRoGbBm8uMzrA3vSUGwRSQYwGw7l yrigLUpK WiMjUQvMqvjJ87fuiidqVMTET3WBjDv/qC04FBU99ecrSWvOGtNUfoCZKJfqoSH9XlEBWrvA8nrJ48rZc40iN3k7O8Ye4FtK+wBsLvVVZew0JmO7dL7R8IjrqjMJcFRpyNG2a8X3N9Unie2BV/V3nJind5pmO7bixcdoHT4aNHQYufLaJtQggIs815F6mrBjAFmn7HwDJMSqSrow+FraLN5lIW2xRBNseTUuyTBCXQkxOhMBc/jncVTB4yn8fHmLJAh5SHk1Ovk+xeC2fReynErsQtzMgQoZODWCKeeK8oTfKfh4+Eaf5i0riLyvZAq1mfFEDMgyMzUOaYax2MJvWRP2ltfcbhtc/tqE3bgoQ7iqgaPqski4HLBjZ0/mTsmjh8b+pzBdNkjUvv8Jfqn4+lwdKuLm6sOzKwXiZnwOopReoKzKItk+XTv921aUr2Ne84tbNwGINi3ojMOXxwHQhHUpmE0GHs+R8m5Kgf4Mc83KVY8eyg9ulBi1Sy18pkCImvzbG X-Bogosity: Ham, tests=bogofilter, spamicity=0.001828, 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 2024-01-03 9:02 AM, Jisheng Zhang wrote: > On Tue, Jan 02, 2024 at 02:00:49PM -0800, Samuel Holland wrote: >> Even if multiple ASIDs are not supported, using the single-ASID variant >> of the sfence.vma instruction preserves TLB entries for global (kernel) >> pages. So it is always more efficient to use the single-ASID code path. >> >> Signed-off-by: Samuel Holland >> --- >> >> Changes in v4: >> - There is now only one copy of __flush_tlb_range() >> >> Changes in v2: >> - Update both copies of __flush_tlb_range() >> >> arch/riscv/include/asm/mmu_context.h | 2 -- >> arch/riscv/mm/context.c | 3 +-- >> arch/riscv/mm/tlbflush.c | 3 +-- >> 3 files changed, 2 insertions(+), 6 deletions(-) >> >> diff --git a/arch/riscv/include/asm/mmu_context.h b/arch/riscv/include/asm/mmu_context.h >> index 7030837adc1a..b0659413a080 100644 >> --- a/arch/riscv/include/asm/mmu_context.h >> +++ b/arch/riscv/include/asm/mmu_context.h >> @@ -33,8 +33,6 @@ static inline int init_new_context(struct task_struct *tsk, >> return 0; >> } >> >> -DECLARE_STATIC_KEY_FALSE(use_asid_allocator); >> - >> #include >> >> #endif /* _ASM_RISCV_MMU_CONTEXT_H */ >> diff --git a/arch/riscv/mm/context.c b/arch/riscv/mm/context.c >> index 3ca9b653df7d..20057085ab8a 100644 >> --- a/arch/riscv/mm/context.c >> +++ b/arch/riscv/mm/context.c >> @@ -18,8 +18,7 @@ >> >> #ifdef CONFIG_MMU >> >> -DEFINE_STATIC_KEY_FALSE(use_asid_allocator); >> - >> +static DEFINE_STATIC_KEY_FALSE(use_asid_allocator); > > One of my optimization "riscv: tlb: avoid tlb flushing if fullmm == 1" > will make use of use_asid_allocator, so could we remove this modification? Yes, I can leave the global declaration alone for now. >> static unsigned long num_asids; >> >> static atomic_long_t current_version; >> diff --git a/arch/riscv/mm/tlbflush.c b/arch/riscv/mm/tlbflush.c >> index 5ec621545c69..39d80f56d292 100644 >> --- a/arch/riscv/mm/tlbflush.c >> +++ b/arch/riscv/mm/tlbflush.c >> @@ -84,8 +84,7 @@ static void __flush_tlb_range(struct mm_struct *mm, unsigned long start, >> if (cpumask_empty(cmask)) >> return; >> >> - if (static_branch_unlikely(&use_asid_allocator)) >> - asid = cntx2asid(atomic_long_read(&mm->context.id)); >> + asid = cntx2asid(atomic_long_read(&mm->context.id)); >> } else { >> cmask = cpu_online_mask; >> } >> -- >> 2.42.0 >> >> >> _______________________________________________ >> linux-riscv mailing list >> linux-riscv@lists.infradead.org >> http://lists.infradead.org/mailman/listinfo/linux-riscv