[PATCH] drm/i915/gvt: Fix an logic issue in ppgtt_allocate_oos_page

Zhenyu Wang zhenyuw at linux.intel.com
Wed Mar 15 09:29:31 UTC 2017


On 2017.03.15 17:01:12 +0800, Zhi Wang wrote:
> From: Min He <min.he at intel.com>
> 
> In ppgtt_allocate_oos_page, when there's no free oos_page, we'll sync an
> old oos page and detach it. But that oos page may not belong to current
> gvt, so we need to find corresponding gvt and sync to it.
> 
> This patch can fix bug 1005.

This bug number is useless. Could you add Fixes: line?

> 
> Signed-off-by: Min He <min.he at intel.com>
> Signed-off-by: Zhi Wang <zhi.a.wang at intel.com>
> ---
>  drivers/gpu/drm/i915/gvt/gtt.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gvt/gtt.c b/drivers/gpu/drm/i915/gvt/gtt.c
> index da73127..ee77836 100644
> --- a/drivers/gpu/drm/i915/gvt/gtt.c
> +++ b/drivers/gpu/drm/i915/gvt/gtt.c
> @@ -1160,6 +1160,7 @@ static int ppgtt_allocate_oos_page(struct intel_vgpu *vgpu,
>  	struct intel_gvt *gvt = vgpu->gvt;
>  	struct intel_gvt_gtt *gtt = &gvt->gtt;
>  	struct intel_vgpu_oos_page *oos_page = gpt->oos_page;
> +	struct intel_vgpu_ppgtt_spt *spt = NULL;
>  	int ret;
>  
>  	WARN(oos_page, "shadow PPGTT page has already has a oos page\n");
> @@ -1167,10 +1168,12 @@ static int ppgtt_allocate_oos_page(struct intel_vgpu *vgpu,
>  	if (list_empty(&gtt->oos_page_free_list_head)) {
>  		oos_page = container_of(gtt->oos_page_use_list_head.next,
>  			struct intel_vgpu_oos_page, list);
> -		ret = ppgtt_set_guest_page_sync(vgpu, oos_page->guest_page);
> +		spt = guest_page_to_ppgtt_spt(oos_page->guest_page);
> +		ret = ppgtt_set_guest_page_sync(spt->vgpu,
> +				oos_page->guest_page);
>  		if (ret)
>  			return ret;
> -		ret = detach_oos_page(vgpu, oos_page);
> +		ret = detach_oos_page(spt->vgpu, oos_page);
>  		if (ret)
>  			return ret;
>  	} else
> -- 
> 1.9.1
> 
> _______________________________________________
> intel-gvt-dev mailing list
> intel-gvt-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gvt-dev

-- 
Open Source Technology Center, Intel ltd.

$gpg --keyserver wwwkeys.pgp.net --recv-keys 4D781827
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 163 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gvt-dev/attachments/20170315/c64692c6/attachment.sig>


More information about the intel-gvt-dev mailing list