On Tue, 04 Feb 2025 00:40:27 +0000, James Houghton wrote: > By aging sptes locklessly with the TDP MMU and the shadow MMU, neither > vCPUs nor reclaim (mmu_notifier_invalidate_range*) will get stuck > waiting for aging. This contention reduction improves guest performance > and saves a significant amount of Google Cloud's CPU usage, and it has > valuable improvements for ChromeOS, as Yu has mentioned previously[1]. > > Please see v8[8] for some performance results using > access_tracking_perf_test patched to use MGLRU. > > [...] Applied to kvm-x86 mmu, thanks! [01/11] KVM: Rename kvm_handle_hva_range() https://github.com/kvm-x86/linux/commit/374ccd63600b [02/11] KVM: Add lockless memslot walk to KVM https://github.com/kvm-x86/linux/commit/aa34b811650c [03/11] KVM: x86/mmu: Factor out spte atomic bit clearing routine https://github.com/kvm-x86/linux/commit/e29b74920e6f [04/11] KVM: x86/mmu: Relax locking for kvm_test_age_gfn() and kvm_age_gfn() https://github.com/kvm-x86/linux/commit/b146a9b34aed [05/11] KVM: x86/mmu: Rename spte_has_volatile_bits() to spte_needs_atomic_write() https://github.com/kvm-x86/linux/commit/61d65f2dc766 [06/11] KVM: x86/mmu: Skip shadow MMU test_young if TDP MMU reports page as young https://github.com/kvm-x86/linux/commit/e25c2332346f [07/11] KVM: x86/mmu: Only check gfn age in shadow MMU if indirect_shadow_pages > 0 https://github.com/kvm-x86/linux/commit/8c403cf23119 [08/11] KVM: x86/mmu: Refactor low level rmap helpers to prep for walking w/o mmu_lock https://github.com/kvm-x86/linux/commit/9fb13ba6b5ff [09/11] KVM: x86/mmu: Add infrastructure to allow walking rmaps outside of mmu_lock https://github.com/kvm-x86/linux/commit/4834eaded91e [10/11] KVM: x86/mmu: Add support for lockless walks of rmap SPTEs https://github.com/kvm-x86/linux/commit/bb6c7749ccee [11/11] KVM: x86/mmu: Support rmap walks without holding mmu_lock when aging gfns https://github.com/kvm-x86/linux/commit/af3b6a9eba48 -- https://github.com/kvm-x86/linux/tree/next