[Intel-gfx] [PATCH] drm/i915/guc: Defer LRC context unpin or release

Yu Dai yu.dai at intel.com
Fri Nov 6 15:42:36 PST 2015


On 11/06/2015 02:09 PM, Chris Wilson wrote:
> On Fri, Nov 06, 2015 at 01:56:59PM -0800, yu.dai at intel.com wrote:
> > From: Alex Dai <yu.dai at intel.com>
> >
> > Can't immediately free LRC context (neither unpin it) even all
> > its referenced requests are completed, because HW still need a
> > short period of time to save data to LRC status page. It is safe
> > to free LRC when HW completes a request from a different LRC.
>
> See the legacy context switch mechanism for code to reuse - at least
> reuse the pointers rather than add yet another almost identically named
> one to intel_engine_cs.
> -Chris
>
Sorry that I accidentally submitted wrong version of this patch. The 
correct one is here: https://patchwork.freedesktop.org/patch/64094/.
I use 'retired_ctx' to avoid confusing with legacy last_context in 
intel_engine_cs. The 'retired' means all gem_request ref on it have 
retired. However, the unpin or free of its backing BO is deferred until 
HW completes another batch from a different LRC. The ref/unref concept 
is similar to the legacy context switch. But I don't believe there is 
any code we can reuse here.

Thanks,
Alex


More information about the Intel-gfx mailing list