Thomas,
When looking at a problem on v5.2-rt1, I turned on lockdep and started getting warnings
from lockdep_assert_irqs_disabled() in the i915 driver. They're making these calls inside
a spin_lock_irqsave/spin_lock_irqrestore block, which of course doesn't fiddle with IRQs
when PREEMPT_RT is configured. The attached patch places the three calls inside
if (!IS_ENABLED(CONFIG_PREEMPT_RT_FULL)) blocks, so should avoid the bogus warning on RT.
Clark
--
The United States Coast Guard
Ruining Natural Selection since 1790
Clark,
On Tue, 16 Jul 2019, Clark Williams wrote:
> Thomas,
>
> When looking at a problem on v5.2-rt1, I turned on lockdep and started getting warnings
> from lockdep_assert_irqs_disabled() in the i915 driver. They're making these calls inside
> a spin_lock_irqsave/spin_lock_irqrestore block, which of course doesn't fiddle with IRQs
> when PREEMPT_RT is configured. The attached patch places the three calls inside
> if (!IS_ENABLED(CONFIG_PREEMPT_RT_FULL)) blocks, so should avoid the bogus warning on RT.
AFAICT, all three asserts are pointless because there are already the lock
held asserts and lockdep will warn anyway when these locks are taken with
interrupts enabled.
Thanks,
tglx