Quoting Lionel Landwerlin (2019-11-14 14:02:24) > While we're waiting for the OA configuration to apply, let's give a > chance to other contexts that might need to run other workloads. > > Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@xxxxxxxxx> > Suggested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_perf.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c > index 31e47ee23357..608e6c3f3c1a 100644 > --- a/drivers/gpu/drm/i915/i915_perf.c > +++ b/drivers/gpu/drm/i915/i915_perf.c > @@ -1777,6 +1777,8 @@ static int alloc_noa_wait(struct i915_perf_stream *stream) > *cs++ = MI_MATH_ADD; > *cs++ = MI_MATH_STOREINV(MI_MATH_REG(JUMP_PREDICATE), MI_MATH_REG_CF); > > + *cs++ = MI_ARB_CHECK; > + That's as reasonable a time to check. If we get preempted just before the end of the wait we do one more loop before exciting. And the loop is quick enough that it doesn't matter. So placement of MI_ARB_CHECK is at your convenience (just so long as it is inside the loop!) Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx