diff options
author | Alexandre Ghiti <alexghiti@rivosinc.com> | 2024-07-17 08:01:25 +0200 |
---|---|---|
committer | Palmer Dabbelt <palmer@rivosinc.com> | 2024-09-15 00:11:05 -0700 |
commit | 7a21b2e370dab780ddb3aa80f2a4c8ff97bddccc (patch) | |
tree | cc6cdd2d108ca49003d02733952cc758bc8d1546 /Kbuild | |
parent | 503638e0babf364061bc50fca5103b00a56cc50a (diff) | |
download | linux-stable-7a21b2e370dab780ddb3aa80f2a4c8ff97bddccc.tar.gz linux-stable-7a21b2e370dab780ddb3aa80f2a4c8ff97bddccc.tar.bz2 linux-stable-7a21b2e370dab780ddb3aa80f2a4c8ff97bddccc.zip |
riscv: Stop emitting preventive sfence.vma for new userspace mappings with Svvptc
The preventive sfence.vma were emitted because new mappings must be made
visible to the page table walker but Svvptc guarantees that it will
happen within a bounded timeframe, so no need to sfence.vma for the uarchs
that implement this extension, we will then take gratuitous (but very
unlikely) page faults, similarly to x86 and arm64.
This allows to drastically reduce the number of sfence.vma emitted:
* Ubuntu boot to login:
Before: ~630k sfence.vma
After: ~200k sfence.vma
* ltp - mmapstress01
Before: ~45k
After: ~6.3k
* lmbench - lat_pagefault
Before: ~665k
After: 832 (!)
* lmbench - lat_mmap
Before: ~546k
After: 718 (!)
Signed-off-by: Alexandre Ghiti <alexghiti@rivosinc.com>
Link: https://lore.kernel.org/r/20240717060125.139416-5-alexghiti@rivosinc.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Diffstat (limited to 'Kbuild')
0 files changed, 0 insertions, 0 deletions