diff mbox series

[6/6] drm/i915/gt: Cancel a hung context if already closed

Message ID 20200319091943.7815-6-chris@chris-wilson.co.uk (mailing list archive)
State New, archived
Headers show
Series [1/6] drm/i915: Prefer '%ps' for printing function symbol names | expand

Commit Message

Chris Wilson March 19, 2020, 9:19 a.m. UTC
Use the restored ability to check if a context is closed to decide
whether or not to immediately ban the context from further execution
after a hang.

Fixes: be90e344836a ("drm/i915/gt: Cancel banned contexts after GT reset")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
---
 drivers/gpu/drm/i915/gt/intel_reset.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Tvrtko Ursulin March 19, 2020, 2:40 p.m. UTC | #1
On 19/03/2020 09:19, Chris Wilson wrote:
> Use the restored ability to check if a context is closed to decide
> whether or not to immediately ban the context from further execution
> after a hang.
> 
> Fixes: be90e344836a ("drm/i915/gt: Cancel banned contexts after GT reset")
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> ---
>   drivers/gpu/drm/i915/gt/intel_reset.c | 5 +++++
>   1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_reset.c b/drivers/gpu/drm/i915/gt/intel_reset.c
> index 9a15bdf31c7f..003f26b42998 100644
> --- a/drivers/gpu/drm/i915/gt/intel_reset.c
> +++ b/drivers/gpu/drm/i915/gt/intel_reset.c
> @@ -88,6 +88,11 @@ static bool mark_guilty(struct i915_request *rq)
>   	bool banned;
>   	int i;
>   
> +	if (intel_context_is_closed(rq->context)) {
> +		intel_context_set_banned(rq->context);
> +		return true;
> +	}
> +
>   	rcu_read_lock();
>   	ctx = rcu_dereference(rq->context->gem_context);
>   	if (ctx && !kref_get_unless_zero(&ctx->ref))
> 

Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

Regards,

Tvrtko
Tvrtko Ursulin March 19, 2020, 2:43 p.m. UTC | #2
On 19/03/2020 14:40, Tvrtko Ursulin wrote:
> 
> On 19/03/2020 09:19, Chris Wilson wrote:
>> Use the restored ability to check if a context is closed to decide
>> whether or not to immediately ban the context from further execution
>> after a hang.
>>
>> Fixes: be90e344836a ("drm/i915/gt: Cancel banned contexts after GT 
>> reset")
>> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
>> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
>> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>> ---
>>   drivers/gpu/drm/i915/gt/intel_reset.c | 5 +++++
>>   1 file changed, 5 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/i915/gt/intel_reset.c 
>> b/drivers/gpu/drm/i915/gt/intel_reset.c
>> index 9a15bdf31c7f..003f26b42998 100644
>> --- a/drivers/gpu/drm/i915/gt/intel_reset.c
>> +++ b/drivers/gpu/drm/i915/gt/intel_reset.c
>> @@ -88,6 +88,11 @@ static bool mark_guilty(struct i915_request *rq)
>>       bool banned;
>>       int i;
>> +    if (intel_context_is_closed(rq->context)) {
>> +        intel_context_set_banned(rq->context);
>> +        return true;
>> +    }
>> +
>>       rcu_read_lock();
>>       ctx = rcu_dereference(rq->context->gem_context);
>>       if (ctx && !kref_get_unless_zero(&ctx->ref))
>>
> 
> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

Although shards are reporting something is not quite right. Is it this 
patch? Doesn't look like it..

Regards,

Tvrtko
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/gt/intel_reset.c b/drivers/gpu/drm/i915/gt/intel_reset.c
index 9a15bdf31c7f..003f26b42998 100644
--- a/drivers/gpu/drm/i915/gt/intel_reset.c
+++ b/drivers/gpu/drm/i915/gt/intel_reset.c
@@ -88,6 +88,11 @@  static bool mark_guilty(struct i915_request *rq)
 	bool banned;
 	int i;
 
+	if (intel_context_is_closed(rq->context)) {
+		intel_context_set_banned(rq->context);
+		return true;
+	}
+
 	rcu_read_lock();
 	ctx = rcu_dereference(rq->context->gem_context);
 	if (ctx && !kref_get_unless_zero(&ctx->ref))