Re: [PATCH v2 15/27] drm/i915/gvt: Don't bother removing write-protection on to-be-deleted slot

From: Yan Zhao
Date: Fri Mar 17 2023 - 03:56:51 EST


Reviewed-by: Yan Zhao <yan.y.zhao@xxxxxxxxx>

On Fri, Mar 10, 2023 at 04:22:46PM -0800, Sean Christopherson wrote:
> When handling a slot "flush", don't call back into KVM to drop write
> protection for gfns in the slot. Now that KVM rejects attempts to move
> memory slots while KVMGT is attached, the only time a slot is "flushed"
> is when it's being removed, i.e. the memslot and all its write-tracking
> metadata is about to be deleted.
>
> Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx>
> ---
> drivers/gpu/drm/i915/gvt/kvmgt.c | 8 +-------
> 1 file changed, 1 insertion(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gvt/kvmgt.c b/drivers/gpu/drm/i915/gvt/kvmgt.c
> index 292750dc819f..577712ea4893 100644
> --- a/drivers/gpu/drm/i915/gvt/kvmgt.c
> +++ b/drivers/gpu/drm/i915/gvt/kvmgt.c
> @@ -1644,14 +1644,8 @@ static void kvmgt_page_track_flush_slot(struct kvm *kvm,
>
> for (i = 0; i < slot->npages; i++) {
> gfn = slot->base_gfn + i;
> - if (kvmgt_gfn_is_write_protected(info, gfn)) {
> - write_lock(&kvm->mmu_lock);
> - kvm_slot_page_track_remove_page(kvm, slot, gfn,
> - KVM_PAGE_TRACK_WRITE);
> - write_unlock(&kvm->mmu_lock);
> -
> + if (kvmgt_gfn_is_write_protected(info, gfn))
> kvmgt_protect_table_del(info, gfn);
> - }
> }
> mutex_unlock(&info->vgpu_lock);
> }
> --
> 2.40.0.rc1.284.g88254d51c5-goog
>