diff options
| author | Alexandre Ghiti <[email protected]> | 2024-02-02 12:47:11 +0000 |
|---|---|---|
| committer | Palmer Dabbelt <[email protected]> | 2024-03-20 15:56:08 +0000 |
| commit | 01261e24cfab69c65043e1e61168348ae23a64c2 (patch) | |
| tree | 448b71b90c07b95ce5f83d9eff3b7c9697d97c7d /scripts/bpf_doc.py | |
| parent | riscv: Use kcalloc() instead of kzalloc() (diff) | |
| download | kernel-01261e24cfab69c65043e1e61168348ae23a64c2.tar.gz kernel-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 <[email protected]>
Reviewed-by: Charlie Jenkins <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Palmer Dabbelt <[email protected]>
Diffstat (limited to 'scripts/bpf_doc.py')
0 files changed, 0 insertions, 0 deletions
