[PATCH RESEND 0/2] riscv: mm: Some optimizations for tlb flush

Xu Lu posted 2 patches 1 month ago
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(-)
[PATCH RESEND 0/2] riscv: mm: Some optimizations for tlb flush
Posted by Xu Lu 1 month ago
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