diff options
author | Alexandre Ghiti <[email protected]> | 2023-10-30 14:30:27 +0100 |
---|---|---|
committer | Palmer Dabbelt <[email protected]> | 2023-11-06 22:49:21 -0800 |
commit | ba6f35964c518b4520bc3f2fe25d8457cb4a7be5 (patch) | |
tree | 8a226c57168141fb4684e6f32aa451326a1e7bca /net/unix/sysctl_net_unix.c | |
parent | 9e113064b4c291ad06a7a3864691288bd2cf014f (diff) |
riscv: Make __flush_tlb_range() loop over pte instead of flushing the whole tlb
Currently, when the range to flush covers more than one page (a 4K page or
a hugepage), __flush_tlb_range() flushes the whole tlb. Flushing the whole
tlb comes with a greater cost than flushing a single entry so we should
flush single entries up to a certain threshold so that:
threshold * cost of flushing a single entry < cost of flushing the whole
tlb.
Co-developed-by: Mayuresh Chitale <[email protected]>
Signed-off-by: Mayuresh Chitale <[email protected]>
Signed-off-by: Alexandre Ghiti <[email protected]>
Reviewed-by: Andrew Jones <[email protected]>
Tested-by: Lad Prabhakar <[email protected]> # On RZ/Five SMARC
Reviewed-by: Samuel Holland <[email protected]>
Tested-by: Samuel Holland <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Palmer Dabbelt <[email protected]>
Diffstat (limited to 'net/unix/sysctl_net_unix.c')
0 files changed, 0 insertions, 0 deletions