On Wed, Aug 21, 2019 at 05:46:44PM -0700, Atish Patra wrote: > 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.pa...@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;
I think this can even be done before the get_cpu to optimize it a little further.