[Uclinux-h8-devel] [PATCH AUTOSEL 5.9 27/39] sched/idle: Fix arch_cpu_idle() vs tracing

Back to archive index
Peter Zijlstra peter****@infra*****
2020年 12月 4日 (金) 02:10:15 JST


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 <peter****@infra*****>
> > 
> > [ 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****@linux*****>
> > Signed-off-by: Peter Zijlstra (Intel) <peter****@infra*****>
> > Reviewed-by: Mark Rutland <mark.****@arm*****>
> > Tested-by: Mark Rutland <mark.****@arm*****>
> > Link: https://lkml.kernel.org/r/20201****@infra*****
> > Signed-off-by: Sasha Levin <sasha****@kerne*****>
> 
> 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.



Uclinux-h8-devel メーリングリストの案内
Back to archive index