Subject: Re: [PATCH AUTOSEL 5.9 27/39] sched/idle: Fix arch_cpu_idle() vs tracing

From: Heiko Carstens <[email-masked]>
Date: Thu, 3 Dec 2020 15:54:42 +0100

On Thu, Dec 03, 2020 at 08:28:21AM -0500, Sasha Levin wrote:
> From: Peter Zijlstra <[email-masked]>
> 
> [ 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 <[email-masked]>
> Signed-off-by: Peter Zijlstra (Intel) <[email-masked]>
> Reviewed-by: Mark Rutland <[email-masked]>
> Tested-by: Mark Rutland <[email-masked]>
> Link: https://lkml.kernel.org/r/[email-masked]
> Signed-off-by: Sasha Levin <[email-masked]>

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.