Message ID | 20240209222858.396696-1-seanjc@google.com (mailing list archive) |
---|---|
Headers | show |
Series | KVM: x86/mmu: Pre-check for mmu_notifier retry | expand |
On 09/02/2024 23:28, Sean Christopherson wrote: > Retry page faults without acquiring mmu_lock, and potentially even without > resolving a pfn, if the gfn is covered by an active invalidation. This > avoids resource and lock contention, which can be especially beneficial > for preemptible kernels as KVM can get stuck bouncing mmu_lock between a > vCPU and the invalidation task the vCPU is waiting on to finish. > > v4: > - Pre-check for retry before resolving the pfn, too. [Yan] > - Add a patch to fix a private/shared vs. memslot validity check > priority inversion bug. > - Refactor kvm_faultin_pfn() to clean up the handling of noslot faults. Can confirm that v4 also fixes the temporary guest hangs [1] I'm seeing in combination with KSM and NUMA balancing: * On 60eedcfc, the reproducer [1] triggers temporary hangs * With the four patches applied on top of 60eedcfc, the reproducer does not trigger hangs Thanks a lot for looking into this! [1] https://lore.kernel.org/kvm/832697b9-3652-422d-a019-8c0574a188ac@proxmox.com/