riscv: mm: try VMA lock-based page fault handling first
authorJisheng Zhang <jszhang@kernel.org>
Tue, 23 May 2023 16:59:42 +0000 (00:59 +0800)
committerPalmer Dabbelt <palmer@rivosinc.com>
Tue, 20 Jun 2023 15:10:13 +0000 (08:10 -0700)
commit648321fa0d970c04b4327ac1a053abf43d285931
treeb3b71a1f090d3fc8fcce526dcd20ecad301ef894
parent7d3332be011e4ed061c1403b30b5e54ebccb4fa2
riscv: mm: try VMA lock-based page fault handling first

Attempt VMA lock-based page fault handling first, and fall back to the
existing mmap_lock-based handling if that fails.

A simple running the ebizzy benchmark on Lichee Pi 4A shows that
PER_VMA_LOCK can improve the ebizzy benchmark by about 32.68%. In
theory, the more CPUs, the bigger improvement, but I don't have any
HW platform which has more than 4 CPUs.

This is the riscv variant of "x86/mm: try VMA lock-based page fault
handling first".

Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
Reviewed-by: Guo Ren <guoren@kernel.org>
Reviewed-by: Suren Baghdasaryan <surenb@google.com>
Link: https://lore.kernel.org/r/20230523165942.2630-1-jszhang@kernel.org
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
arch/riscv/Kconfig
arch/riscv/mm/fault.c