diff options
author | 2024-02-02 13:47:11 +0100 | |
---|---|---|
committer | 2024-03-20 08:56:08 -0700 | |
commit | 01261e24cfab69c65043e1e61168348ae23a64c2 (patch) | |
tree | 448b71b90c07b95ce5f83d9eff3b7c9697d97c7d /tools/perf/scripts/python/export-to-postgresql.py | |
parent | riscv: Use kcalloc() instead of kzalloc() (diff) | |
download | wireguard-linux-01261e24cfab69c65043e1e61168348ae23a64c2.tar.xz wireguard-linux-01261e24cfab69c65043e1e61168348ae23a64c2.zip |
riscv: Only flush the mm icache when setting an exec pte
We used to emit a flush_icache_all() whenever a dirty executable
mapping is set in the page table but we can instead call
flush_icache_mm() which will only send IPIs to cores that currently run
this mm and add a deferred icache flush to the others.
The number of calls to sbi_remote_fence_i() (tested without IPI
support):
With a simple buildroot rootfs:
* Before: ~5k
* After : 4 (!)
Tested on HW, the boot to login is ~4.5% faster.
With an ubuntu rootfs:
* Before: ~24k
* After : ~13k
Signed-off-by: Alexandre Ghiti <alexghiti@rivosinc.com>
Reviewed-by: Charlie Jenkins <charlie@rivosinc.com>
Link: https://lore.kernel.org/r/20240202124711.256146-1-alexghiti@rivosinc.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions