drm/i915: Trim delays for wedging
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 19 Feb 2019 12:21:57 +0000 (12:21 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 19 Feb 2019 14:41:32 +0000 (14:41 +0000)
CI still reports the occasional multi-second delay for resets, in
particular along the wedge+recovery paths. As the likely, and unbounded,
delay here is from sync_rcu, use the expedited variant instead.

Testcase: igt/gem_eio/unwedge-stress
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190219122215.8941-7-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_reset.c

index 4df4c67..034b654 100644 (file)
@@ -830,7 +830,7 @@ static void __i915_gem_set_wedged(struct drm_i915_private *i915)
         * either this call here to intel_engine_write_global_seqno, or the one
         * in nop_submit_request.
         */
-       synchronize_rcu();
+       synchronize_rcu_expedited();
 
        /* Mark all executing requests as skipped */
        for_each_engine(engine, i915, id)