On Tue, Jul 15, 2025 at 05:41:28PM +0200, Maarten Lankhorst wrote:
> From: Sebastian Andrzej Siewior <[email protected]>
> 
> The !irqs_disabled() check triggers on PREEMPT_RT even with
> i915_sched_engine::lock acquired. The reason is the lock is transformed
> into a sleeping lock on PREEMPT_RT and does not disable interrupts.
> 
> There is no need to check for disabled interrupts. The lockdep
> annotation below already check if the lock has been acquired by the
> caller and will yell if the interrupts are not disabled.
> 
> Remove the !irqs_disabled() check.
> 
> Reported-by: Maarten Lankhorst <[email protected]>
> Acked-by: Tvrtko Ursulin <[email protected]>
> Signed-off-by: Sebastian Andrzej Siewior <[email protected]>
> Link: https://lore.kernel.org/r/[email protected]
> Signed-off-by: Maarten Lankhorst <[email protected]>

Reviewed-by: Rodrigo Vivi <[email protected]>

> ---
>  drivers/gpu/drm/i915/i915_request.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_request.c 
> b/drivers/gpu/drm/i915/i915_request.c
> index c3d27eadc0a7e..4705d6d6db141 100644
> --- a/drivers/gpu/drm/i915/i915_request.c
> +++ b/drivers/gpu/drm/i915/i915_request.c
> @@ -608,7 +608,6 @@ bool __i915_request_submit(struct i915_request *request)
>  
>       RQ_TRACE(request, "\n");
>  
> -     GEM_BUG_ON(!irqs_disabled());
>       lockdep_assert_held(&engine->sched_engine->lock);
>  
>       /*
> @@ -717,7 +716,6 @@ void __i915_request_unsubmit(struct i915_request *request)
>        */
>       RQ_TRACE(request, "\n");
>  
> -     GEM_BUG_ON(!irqs_disabled());
>       lockdep_assert_held(&engine->sched_engine->lock);
>  
>       /*
> -- 
> 2.45.2
> 

Reply via email to