Message ID | 20210318170419.2107512-3-tvrtko.ursulin@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Default request/fence expiry + watchdog | expand |
On Thu, 18 Mar 2021 at 17:04, Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> wrote: > > From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > > Disallow sentinel requests follow previous sentinels to make request > cancellation work better when faced with a chain of requests which have > all been marked as in error. Could you elaborate some more on why this makes request cancellation work better? > > Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > --- > drivers/gpu/drm/i915/gt/intel_execlists_submission.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c > index 4c2acb5a6c0a..4b870eca9693 100644 > --- a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c > +++ b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c > @@ -896,7 +896,7 @@ static bool can_merge_rq(const struct i915_request *prev, > if (__i915_request_is_complete(next)) > return true; > > - if (unlikely((i915_request_flags(prev) ^ i915_request_flags(next)) & > + if (unlikely((i915_request_flags(prev) | i915_request_flags(next)) & > (BIT(I915_FENCE_FLAG_NOPREEMPT) | > BIT(I915_FENCE_FLAG_SENTINEL)))) > return false; > -- > 2.27.0 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
On 22/03/2021 17:12, Matthew Auld wrote: > On Thu, 18 Mar 2021 at 17:04, Tvrtko Ursulin > <tvrtko.ursulin@linux.intel.com> wrote: >> >> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> >> >> Disallow sentinel requests follow previous sentinels to make request >> cancellation work better when faced with a chain of requests which have >> all been marked as in error. > > Could you elaborate some more on why this makes request cancellation > work better? For cases where we end up with a stream of cancelled requests, it turns of request coalescing for them, so they each to get individually skipped by the execlists_schedule_in (which is called per ELSP port, not per request). I will improve the commit message. Regards, Tvrtko >> >> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> >> --- >> drivers/gpu/drm/i915/gt/intel_execlists_submission.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c >> index 4c2acb5a6c0a..4b870eca9693 100644 >> --- a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c >> +++ b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c >> @@ -896,7 +896,7 @@ static bool can_merge_rq(const struct i915_request *prev, >> if (__i915_request_is_complete(next)) >> return true; >> >> - if (unlikely((i915_request_flags(prev) ^ i915_request_flags(next)) & >> + if (unlikely((i915_request_flags(prev) | i915_request_flags(next)) & >> (BIT(I915_FENCE_FLAG_NOPREEMPT) | >> BIT(I915_FENCE_FLAG_SENTINEL)))) >> return false; >> -- >> 2.27.0 >> >> _______________________________________________ >> Intel-gfx mailing list >> Intel-gfx@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff --git a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c index 4c2acb5a6c0a..4b870eca9693 100644 --- a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c +++ b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c @@ -896,7 +896,7 @@ static bool can_merge_rq(const struct i915_request *prev, if (__i915_request_is_complete(next)) return true; - if (unlikely((i915_request_flags(prev) ^ i915_request_flags(next)) & + if (unlikely((i915_request_flags(prev) | i915_request_flags(next)) & (BIT(I915_FENCE_FLAG_NOPREEMPT) | BIT(I915_FENCE_FLAG_SENTINEL)))) return false;