On 11/06/2015 02:09 PM, Chris Wilson wrote:
On Fri, Nov 06, 2015 at 01:56:59PM -0800, yu.dai@xxxxxxxxx wrote:
> From: Alex Dai <yu.dai@xxxxxxxxx>
>
> 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
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx