[Intel-gfx] [PATCH 09/17] drm/i915: Wait until the intel_wakeref idle callback is complete

Chris Wilson chris at chris-wilson.co.uk
Tue Nov 19 16:35:24 UTC 2019


Quoting Mika Kuoppala (2019-11-19 16:12:18)
> Chris Wilson <chris at chris-wilson.co.uk> writes:
> 
> > When waiting for idle, serialise with any ongoing callback so that it
> > will have completed before completing the wait.
> 
> Might be come apparent and evident when reading the patch
> that introduce the intel_wakeref_unlock_wait(),
> but reader is yearning for a why part.
> 
> The 'wait_for_idle' is kind of revaling of
> why the need for sync tho.

I don't have a particular example where by not waiting for the callback
to finish, we found ourselves inspecting stale state. But that's the
worry -- that any caller proceeds assuming the wakeref mutexes are no
longer in use, when in fact some CPU is still accessing that memory.
Tends to only be a worry before free, which in this case entails module
unload.

I needed the "unlock_wait" for engine-pm in one of the selftests, as I
was adding that, I saw no harm in dotting the 'i' and crossing the 't'
here as well.
-Chris


More information about the Intel-gfx mailing list