summaryrefslogtreecommitdiffstats
path: root/Kbuild
diff options
context:
space:
mode:
authorAlexandre Ghiti <alexghiti@rivosinc.com>2024-07-17 08:01:25 +0200
committerPalmer Dabbelt <palmer@rivosinc.com>2024-09-15 00:11:05 -0700
commit7a21b2e370dab780ddb3aa80f2a4c8ff97bddccc (patch)
treecc6cdd2d108ca49003d02733952cc758bc8d1546 /Kbuild
parent503638e0babf364061bc50fca5103b00a56cc50a (diff)
downloadlinux-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