On Tue, Nov 19, 2013 at 12:59:59AM +0100, Frederic Weisbecker wrote: > On Mon, Nov 18, 2013 at 03:10:21PM +0100, Peter Zijlstra wrote: > > --- a/kernel/softirq.c > > +++ b/kernel/softirq.c > > @@ -746,13 +746,23 @@ void irq_exit(void) > > #endif > > > > account_irq_exit_time(current); > > - trace_hardirq_exit(); > > sub_preempt_count(HARDIRQ_OFFSET); > > - if (!in_interrupt() && local_softirq_pending()) > > + if (!in_interrupt() && local_softirq_pending()) { > > + /* > > + * Temp. disable hardirq context so as not to confuse lockdep; > > + * otherwise it might think we're running softirq handler from > > + * hardirq context. > > + * > > + * Should probably sort this someplace else.. > > + */ > > + trace_hardirq_exit(); > > invoke_softirq(); > > + trace_hardirq_enter(); > > + } > > > > tick_irq_exit(); > > rcu_irq_exit(); > > + trace_hardirq_exit(); > > Looks like a change we really want! Yeah, let me stare at the softirq mess again to see if there's anything better/prettier we can do. -- To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html