On Thu, Dec 03, 2020 at 03:54:42PM +0100, Heiko Carstens wrote: > On Thu, Dec 03, 2020 at 08:28:21AM -0500, Sasha Levin wrote: > > From: Peter Zijlstra <peterz@xxxxxxxxxxxxx> > > > > [ Upstream commit 58c644ba512cfbc2e39b758dd979edd1d6d00e27 ] > > > > We call arch_cpu_idle() with RCU disabled, but then use > > local_irq_{en,dis}able(), which invokes tracing, which relies on RCU. > > > > Switch all arch_cpu_idle() implementations to use > > raw_local_irq_{en,dis}able() and carefully manage the > > lockdep,rcu,tracing state like we do in entry. > > > > (XXX: we really should change arch_cpu_idle() to not return with > > interrupts enabled) > > > > Reported-by: Sven Schnelle <svens@xxxxxxxxxxxxx> > > Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> > > Reviewed-by: Mark Rutland <mark.rutland@xxxxxxx> > > Tested-by: Mark Rutland <mark.rutland@xxxxxxx> > > Link: https://lkml.kernel.org/r/20201120114925.594122626@xxxxxxxxxxxxx > > Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx> > > This patch broke s390 irq state tracing. A patch to fix this is > scheduled to be merged upstream today (hopefully). > Therefore I think this patch should not yet go into 5.9 stable. Agreed.