[Intel-gfx] [PATCH 2/6] drm/i915: Restrict sentinel requests further
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Tue Mar 23 09:09:46 UTC 2021
On 22/03/2021 17:12, Matthew Auld wrote:
> On Thu, 18 Mar 2021 at 17:04, Tvrtko Ursulin
> <tvrtko.ursulin at linux.intel.com> wrote:
>>
>> From: Tvrtko Ursulin <tvrtko.ursulin at 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 at 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 at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
More information about the Intel-gfx
mailing list