Re: [RFC v2 PATCH 09/13] KVM: Introduce kvm_memfd_invalidate_range
From: Chao Peng
Date: Tue Nov 23 2021 - 09:25:20 EST
On Tue, Nov 23, 2021 at 09:46:34AM +0100, Paolo Bonzini wrote:
> On 11/19/21 14:47, Chao Peng wrote:
> > +
> > + /* 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