lkml.org 
[lkml]   [2019]   [Aug]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH v3 3/3] RISC-V: Do not invoke SBI call if cpumask is empty
Date
SBI calls are expensive. If cpumask is empty, there is no need to
trap via SBI as no remote tlb flushing is required.

Signed-off-by: Atish Patra <atish.patra@wdc.com>
---
arch/riscv/mm/tlbflush.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/arch/riscv/mm/tlbflush.c b/arch/riscv/mm/tlbflush.c
index 9f58b3790baa..2bd3c418d769 100644
--- a/arch/riscv/mm/tlbflush.c
+++ b/arch/riscv/mm/tlbflush.c
@@ -21,6 +21,9 @@ static void __sbi_tlb_flush_range(struct cpumask *cmask, unsigned long start,
goto issue_sfence;
}

+ if (cpumask_empty(cmask))
+ goto done;
+
if (cpumask_test_cpu(cpuid, cmask) && cpumask_weight(cmask) == 1) {
if (size <= PAGE_SIZE && size != -1)
local_flush_tlb_page(start);
--
2.21.0
\
 
 \ /
  Last update: 2019-08-22 02:47    [W:0.074 / U:11.912 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site