diff options
author | Sean Christopherson <seanjc@google.com> | 2024-10-11 04:10:49 +0200 |
---|---|---|
committer | Sean Christopherson <seanjc@google.com> | 2024-10-30 23:25:40 +0100 |
commit | 2ebbe0308c29287914eeabe6ed83a6e21f9962bc (patch) | |
tree | afdbaf2f641a0ae230a1fee6b0b22ef327f02833 /io_uring/msg_ring.h | |
parent | KVM: x86/mmu: Set Dirty bit for new SPTEs, even if _hardware_ A/D bits are di... (diff) | |
download | linux-2ebbe0308c29287914eeabe6ed83a6e21f9962bc.tar.xz linux-2ebbe0308c29287914eeabe6ed83a6e21f9962bc.zip |
KVM: Allow arch code to elide TLB flushes when aging a young page
Add a Kconfig to allow architectures to opt-out of a TLB flush when a
young page is aged, as invalidating TLB entries is not functionally
required on most KVM-supported architectures. Stale TLB entries can
result in false negatives and theoretically lead to suboptimal reclaim,
but in practice all observations have been that the performance gained by
skipping TLB flushes outweighs any performance lost by reclaiming hot
pages.
E.g. the primary MMUs for x86 RISC-V, s390, and PPC Book3S elide the TLB
flush for ptep_clear_flush_young(), and arm64's MMU skips the trailing DSB
that's required for ordering (presumably because there are optimizations
related to eliding other TLB flushes when doing make-before-break).
Link: https://lore.kernel.org/r/20241011021051.1557902-18-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
Diffstat (limited to 'io_uring/msg_ring.h')
0 files changed, 0 insertions, 0 deletions