[Intel-gfx] [CI 04/20] drm/i915: Remove the dedicated hangcheck workqueue
Chris Wilson
chris at chris-wilson.co.uk
Thu May 19 13:13:00 UTC 2016
On Thu, May 19, 2016 at 01:50:51PM +0100, Tvrtko Ursulin wrote:
>
> On 19/05/16 12:32, Chris Wilson wrote:
> >The queue only ever contains at most one item and has no special flags.
> >It is just a very simple wrapper around the system-wq - a complication
> >with no benefits.
>
> How much time do we take in the reset case - is it acceptable to do
> that work from the system wq?
Hangcheck is a handful of register reads and some pointer chasing per
engine. (There is a seqno_barrier in there which may be reasonably
expensive but not a cpu hog). The error capture is run from the
hangcheck context - and that is no small task (especially if we ever
apply the object compression patches), but for safety we need to call
stop_machine() so it really doesn't matter at that point.
> Hm, why was it an ordered queue so far - we only queue single work on it?
Copy-n-paste I think. The dev_priv->wq is ordered because we take
struct_mutex in everything and so only really support one concurrent task
at a time. We wanted a seperate workqueue for hangcheck so it wouldn't
be interfered with by the driver blocking the ordered dev_priv->wq, but
that is just the same as using the unbound system workqueue. Hmm,
probably we do want system_unbound_wq is we ever see an issue.
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
More information about the Intel-gfx
mailing list