[Intel-gfx] [PATCH v3] drm/i915: Add interface to reserve fence registers for vGPU
Chris Wilson
chris at chris-wilson.co.uk
Mon Sep 4 15:40:34 UTC 2017
Quoting Zhenyu Wang (2017-09-04 16:04:03)
> On 2017.09.04 11:01:41 +0100, Chris Wilson wrote:
> > Quoting changbin.du at intel.com (2017-09-04 09:01:01)
> > > From: Changbin Du <changbin.du at intel.com>
> > >
> > > In the past, vGPU alloc fence registers by walking through mm.fence_list
> > > to find fence which pin_count = 0 and vma is empty. vGPU may not find
> > > enough fence registers this way. Because a fence can be bind to vma even
> > > though it is not in using. We have found such failure many times these
> > > days.
> > >
> > > An option to resolve this issue is that we can force-remove fence from
> > > vma in this case.
> > >
> > > This patch added two new api to the fence management code:
> > > - i915_reserve_fence() will try to find a free fence from fence_list
> > > and force-remove vma if need.
> > > - i915_unreserve_fence() reclaim a reserved fence after vGPU has
> > > finished.
> > >
> > > With this change, the fence management is more clear to work with vGPU.
> > > GVTg do not need remove fence from fence_list in private.
> > >
> > > v3: (Chris)
> > > - Add struct_mutex lock assertion.
> > > - Only count for unpinned fence.
> > >
> > > v2: (Chris)
> > > - Rename the new api for symmetry.
> > > - Add safeguard to ensure at least 1 fence remained for host display.
> > >
> > > Signed-off-by: Changbin Du <changbin.du at intel.com>
> > > Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
> >
> > Anyone want to give an ack/review for the GVT side, and then I'll push.
>
> Acked-by: Zhenyu Wang <zhenyuw at linux.intel.com>
And pushed.
-Chris
More information about the Intel-gfx
mailing list