[Intel-gfx] [PATCH 2/2] drm/i915: Protect engine request list with spinlock

Chris Wilson chris at chris-wilson.co.uk
Thu Feb 19 08:41:12 PST 2015


On Thu, Feb 19, 2015 at 06:18:55PM +0200, Mika Kuoppala wrote:
> There are multiple players interested in the ring->request_list
> state. Request submission can happen in kernel or user context,
> idle worker is going through request list to free items. And then there
> is hangcheck worker which tries to figure out if particular ring is
> healthy by peeking at the request list among other things. And if
> judged stuck by hangcheck, error state is colleted. Which in turns
> needs access to ring->request_list.

We have discussed this before. Hangcheck does not need the lock so long
as it is serialised with deletion. List processing with hangcheck during
concurrent addition is safe.

For example, I expect the request locking to look like

http://cgit.freedesktop.org/~ickle/linux-2.6/tree/drivers/gpu/drm/i915/i915_gem_request.c#n691
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list