This is my take on Sean's patch to restrict taking the mmu_lock in the MMU notifiers. The first patch includes the locking changes, while the second is the optimization. v1->v2: moved the "if (!kvm->mmu_notifier_count)" early return to patch 2 Paolo Bonzini (1): KVM: Block memslot updates across range_start() and range_end() Sean Christopherson (1): KVM: Don't take mmu_lock for range invalidation unless necessary Documentation/virt/kvm/locking.rst | 6 +++ include/linux/kvm_host.h | 10 +++- virt/kvm/kvm_main.c | 79 ++++++++++++++++++++++++------ 3 files changed, 78 insertions(+), 17 deletions(-) -- 2.27.0