mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-19 04:37:57 +07:00
58c644ba51
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.ibm.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Mark Rutland <mark.rutland@arm.com> Tested-by: Mark Rutland <mark.rutland@arm.com> Link: https://lkml.kernel.org/r/20201120114925.594122626@infradead.org |
||
---|---|---|
.. | ||
.gitignore | ||
asm-offsets.c | ||
dma.c | ||
entry.S | ||
head.S | ||
irq.c | ||
Makefile | ||
module.c | ||
or32_ksyms.c | ||
process.c | ||
prom.c | ||
ptrace.c | ||
setup.c | ||
signal.c | ||
smp.c | ||
stacktrace.c | ||
sync-timer.c | ||
sys_call_table.c | ||
time.c | ||
traps.c | ||
unwinder.c | ||
vmlinux.h | ||
vmlinux.lds.S |