Some optimizations for tlb flush on RISC-V smp:
1. Apply Svinval in update_mmu_cache() to avoid flushing irrelevant tlb
entries.
2. Clear bit of current cpu in mm_cpumask after local_flush_tlb_all_asid()
to avoid potential IPIs in the future.
We saw the number of IPI reduced from ~98k to 268 on mmapstress01
benchmark.
Some false positive spacing error happens during patch checking. Thus I
CCed maintainers of checkpatch.pl as well.
Xu Lu (2):
riscv: mm: Apply svinval in update_mmu_cache()
riscv: mm: Clear cpu in mm_cpumask after local_flush_tlb_all_asid
arch/riscv/include/asm/pgtable.h | 16 +++++++-
arch/riscv/include/asm/tlbflush.h | 23 +++++++++++
arch/riscv/mm/tlbflush.c | 64 ++++++++++++-------------------
3 files changed, 63 insertions(+), 40 deletions(-)
--
2.20.1