Re: [PATCH v7 00/18] mm: multi-gen LRU: Walk secondary MMU page tables while aging

From: Sean Christopherson
Date: Mon Oct 14 2024 - 19:22:24 EST


On Thu, Sep 26, 2024, James Houghton wrote:
> This patchset makes it possible for MGLRU to consult secondary MMUs
> while doing aging, not just during eviction. This allows for more
> accurate reclaim decisions, which is especially important for proactive
> reclaim.

...

> James Houghton (14):
> KVM: Remove kvm_handle_hva_range helper functions
> KVM: Add lockless memslot walk to KVM
> KVM: x86/mmu: Factor out spte atomic bit clearing routine
> KVM: x86/mmu: Relax locking for kvm_test_age_gfn and kvm_age_gfn
> KVM: x86/mmu: Rearrange kvm_{test_,}age_gfn
> KVM: x86/mmu: Only check gfn age in shadow MMU if
> indirect_shadow_pages > 0
> mm: Add missing mmu_notifier_clear_young for !MMU_NOTIFIER
> mm: Add has_fast_aging to struct mmu_notifier
> mm: Add fast_only bool to test_young and clear_young MMU notifiers

Per offline discussions, there's a non-zero chance that fast_only won't be needed,
because it may be preferable to incorporate secondary MMUs into MGLRU, even if
they don't support "fast" aging.

What's the status on that front? Even if the status is "TBD", it'd be very helpful
to let others know, so that they don't spend time reviewing code that might be
completely thrown away.

> KVM: Pass fast_only to kvm_{test_,}age_gfn
> KVM: x86/mmu: Locklessly harvest access information from shadow MMU
> KVM: x86/mmu: Enable has_fast_aging
> mm: multi-gen LRU: Have secondary MMUs participate in aging
> KVM: selftests: Add multi-gen LRU aging to access_tracking_perf_test
>
> Sean Christopherson (4):
> KVM: x86/mmu: Refactor low level rmap helpers to prep for walking w/o
> mmu_lock
> KVM: x86/mmu: Add infrastructure to allow walking rmaps outside of
> mmu_lock
> KVM: x86/mmu: Add support for lockless walks of rmap SPTEs
> KVM: x86/mmu: Support rmap walks without holding mmu_lock when aging
> gfns