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
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to