linux/arch/ia64
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
..
configs ia64: Use libata instead of the legacy ide driver in defconfigs 2020-09-11 09:38:00 -07:00
hp/common dma-mapping: split <linux/dma-mapping.h> 2020-10-06 07:07:03 +02:00
include treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
kernel sched/idle: Fix arch_cpu_idle() vs tracing 2020-11-24 16:47:35 +01:00
lib Merge branch 'work.csum_and_copy' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2020-10-12 16:24:13 -07:00
mm mm: pass migratetype into memmap_init_zone() and move_pfn_range_to_zone() 2020-10-16 11:11:17 -07:00
oprofile ia64: Remove perfmon 2020-09-11 09:34:32 -07:00
pci ia64: remove support for machvecs 2019-08-16 14:32:26 -07:00
scripts ia64: convert unwcheck.py to python3 2018-03-05 14:35:01 -08:00
uv ia64: remove support for machvecs 2019-08-16 14:32:26 -07:00
install.sh
Kconfig Merge branch 'work.set_fs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2020-10-22 09:59:21 -07:00
Kconfig.debug ia64: remove support for machvecs 2019-08-16 14:32:26 -07:00
Makefile kbuild: preprocess module linker script 2020-09-25 00:36:41 +09:00