1
0
Fork 0
alistair23-linux/arch/openrisc
Peter Zijlstra 58c644ba51 sched/idle: Fix arch_cpu_idle() vs tracing
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
2020-11-24 16:47:35 +01:00
..
boot/dts or1k: dts: Add ethoc device to SMP devicetree 2019-08-31 11:56:19 +09:00
configs openrisc: configs: Cleanup CONFIG_CROSS_COMPILE 2020-01-31 22:10:58 +09:00
include openrisc: Fix issue with get_user for 64-bit values 2020-09-12 17:26:00 +09:00
kernel sched/idle: Fix arch_cpu_idle() vs tracing 2020-11-24 16:47:35 +01:00
lib treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mm arch, drivers: replace for_each_membock() with for_each_mem_range() 2020-10-13 18:38:35 -07:00
Kconfig uaccess: add infrastructure for kernel builds with set_fs() 2020-09-08 22:21:32 -04:00
Kconfig.debug treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Makefile openrisc: remove unneeded code in arch/openrisc/Makefile 2019-01-17 23:42:59 +09:00