3.2.63-rt93-rc1 stable review patch. If anyone has any objections, please let me know. ------------------ From: "Steven Rostedt (Red Hat)" The backport of f1a83e652bed "lockdep: Correctly annotate hardirq context in irq_exit()" to v3.2.53-rt76 wasn't correct because v3.2-rt had two calls to invoke_softirq(). One when __ARCH_IRQ_EXIT_IRQS_DISABLED is defined and another when it is not defined. v3.14 which introduced this change only had one version. When I backported this change, I didn't see the two places and only one was added. Unfortunately, it was the one that x86 does not use, and this caused a lockdep splat on one of my tests. It only affected the -rt patch when PREEMPT_RT_FULL was not set, so I did not spend much time looking to see what broke. Well, I finally spent a little time and found the cause, and this was a simple fix. Now my all my tests pass on the v3.2-rt kernel, even the one where I test CONFIG_PREEMPT_RT_FULL not set. Cc: Peter Zijlstra Signed-off-by: Steven Rostedt --- kernel/softirq.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kernel/softirq.c b/kernel/softirq.c index 7d882ccfa22b..56d30853345d 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c @@ -637,9 +637,10 @@ static inline void invoke_softirq(void) static inline void invoke_softirq(void) { #ifndef CONFIG_PREEMPT_RT_FULL - if (!force_irqthreads) + if (!force_irqthreads) { + lockdep_softirq_from_hardirq(); do_softirq(); - else { + } else { __local_bh_disable((unsigned long)__builtin_return_address(0), SOFTIRQ_OFFSET); wakeup_softirqd(); -- 2.1.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/