On Wed, Oct 07, 2020 at 09:53:25AM +0200, Sven Schnelle wrote: > Hi Peter, > > peterz@xxxxxxxxxxxxx writes: > > > After commit eb1f00237aca ("lockdep,trace: Expose tracepoints") the > > lock tracepoints are visible to lockdep and RCU-lockdep is finding a > > bunch more RCU violations that were previously hidden. > > > > Switch the idle->seqcount over to using raw_write_*() to avoid the > > lockdep annotation and thus the lock tracepoints. > > > > Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> > > Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> > > [..] > > I'm still seeing the splat below on s390 when irq tracing is enabled: Damn... :/ This one is tricky, trouble seems to be that arch_cpu_idle() is defined to enable interrupts (no doubt because ot x86 :/), but we call it before rcu_exit_idle(). What a mess... let me rummage around the various archs to see what makes most sense here.