Re: [RFC v2 PATCH 09/13] KVM: Introduce kvm_memfd_invalidate_range
From: Chao Peng <hidden>
Date: 2021-11-23 14:25:18
Also in:
kvm, linux-fsdevel, lkml, qemu-devel
From: Chao Peng <hidden>
Date: 2021-11-23 14:25:18
Also in:
kvm, linux-fsdevel, lkml, qemu-devel
On Tue, Nov 23, 2021 at 09:46:34AM +0100, Paolo Bonzini wrote:
On 11/19/21 14:47, Chao Peng wrote:quoted
+ + /* Prevent memslot modification */ + spin_lock(&kvm->mn_invalidate_lock); + kvm->mn_active_invalidate_count++; + spin_unlock(&kvm->mn_invalidate_lock); + + ret = __kvm_handle_useraddr_range(kvm, &useraddr_range); + + spin_lock(&kvm->mn_invalidate_lock); + kvm->mn_active_invalidate_count--; + spin_unlock(&kvm->mn_invalidate_lock); +You need to follow this with a rcuwait_wake_up as in kvm_mmu_notifier_invalidate_range_end.
Oh right.
It's probably best if you move the manipulations of mn_active_invalidate_count from kvm_mmu_notifier_invalidate_range_* to two separate functions.
Will do.
Paolo