[Intel-gfx] [PATCH] drm/i915: Fix vGPU balloon for ggtt guard page

Chris Wilson chris at chris-wilson.co.uk
Thu Mar 9 10:45:10 UTC 2017


On Thu, Mar 09, 2017 at 06:25:37PM +0800, Zhenyu Wang wrote:
> From commit a6508ded2a66 ("drm/i915: Use page coloring to provide the guard
> page at the end of the GTT"), we no longer explicitly subtract guard page
> at end for GGTT address space init, so shouldn't subtract that for vGPU
> balloon too, as that will leave that end page to be available for
> vGPU. Change balloon to cover full range too.
> 
> This fixes to use recent drm-intel tip kernel for guest OS. Found by GVT-g
> cmd parser that guest kernel uses end page as scratch then try to run
> MI_STORE_REG_MEM onto it.
> 
> Cc: Terrence Xu <terrence.xu at intel.com>
> Signed-off-by: Zhenyu Wang <zhenyuw at linux.intel.com>
> ---
>  drivers/gpu/drm/i915/i915_vgpu.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_vgpu.c b/drivers/gpu/drm/i915/i915_vgpu.c
> index 14014068dfcf..e0a3d61bd232 100644
> --- a/drivers/gpu/drm/i915/i915_vgpu.c
> +++ b/drivers/gpu/drm/i915/i915_vgpu.c
> @@ -222,9 +222,9 @@ int intel_vgt_balloon(struct drm_i915_private *dev_priv)
>  	 * No need to partition out the last physical page,
>  	 * because it is reserved to the guard page.
>  	 */

And update the comment.

> -	if (unmappable_end < ggtt_end - PAGE_SIZE) {
> +	if (unmappable_end < ggtt_end) {
>  		ret = vgt_balloon_space(ggtt, &bl_info.space[3],
> -					unmappable_end, ggtt_end - PAGE_SIZE);
> +					unmappable_end, ggtt_end);
>  		if (ret)
>  			goto err;
>  	}

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list