linux_dsm_epyc7002/arch/parisc/kernel
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
..
syscalls parisc: Add wrapper syscalls to fix O_NONBLOCK flag usage 2020-10-23 20:14:07 +02:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
alternative.c parisc: Refactor alternative code to accept multiple conditions 2020-04-05 22:50:40 +02:00
asm-offsets.c mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
audit.c
cache.c parisc: Rewrite tlb flush threshold calculation 2020-10-15 08:10:39 +02:00
compat_audit.c
drivers.c dma-mapping: split <linux/dma-mapping.h> 2020-10-06 07:07:03 +02:00
entry.S parisc: Fix comments and enable interrupts later 2020-10-15 08:10:38 +02:00
firmware.c parisc: firmware: Update references to parisc website 2020-06-01 23:02:11 +02:00
ftrace.c treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
hardware.c parisc: hardware: Update references to parisc website 2020-06-01 23:02:39 +02:00
head.S mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
hpmc.S
inventory.c parisc: Add qemu fw_cfg interface 2020-10-15 08:10:37 +02:00
irq.c parisc: Replace setup_irq() by request_irq() 2020-04-05 22:05:23 +02:00
jump_label.c
kexec_file.c
kexec.c
kgdb.c maccess: rename probe_kernel_{read,write} to copy_{from,to}_kernel_nofault 2020-06-17 10:57:41 -07:00
kprobes.c parisc: kprobes: Use generic kretprobe trampoline handler 2020-09-08 11:52:33 +02:00
Makefile
module.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
pa7300lc.c
pacache.S mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
parisc_ksyms.c
patch.c
pci-dma.c dma-mapping: merge <linux/dma-noncoherent.h> into <linux/dma-map-ops.h> 2020-10-06 07:07:06 +02:00
pci.c
pdc_chassis.c
pdc_cons.c
pdt.c parisc: Report bad pages as HardwareCorrupted 2020-07-28 11:19:17 +02:00
perf_asm.S
perf_images.h
perf.c parisc/perf: open access for CAP_PERFMON privileged process 2020-04-16 12:19:08 -03:00
process.c sched/idle: Fix arch_cpu_idle() vs tracing 2020-11-24 16:47:35 +01:00
processor.c parisc: Replace cpu_up/down() with add/remove_cpu() 2020-03-25 12:59:36 +01:00
ptrace.c parisc: switch to ->regset_get() 2020-07-27 14:31:12 -04:00
real2.S
relocate_kernel.S
setup.c
signal32.c
signal32.h
signal.c tracehook: clear TIF_NOTIFY_RESUME in tracehook_notify_resume() 2020-10-17 15:04:36 -06:00
smp.c parisc: Avoid external interrupts when IPI finishes 2020-10-15 08:10:37 +02:00
stacktrace.c
sys_parisc32.c
sys_parisc.c parisc: Add wrapper syscalls to fix O_NONBLOCK flag usage 2020-10-23 20:14:07 +02:00
syscall.S parisc: Switch to more fine grained lws locks 2020-10-15 08:10:39 +02:00
time.c parisc: Improve error return codes when setting rtc time 2020-10-22 22:44:27 +02:00
topology.c
traps.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
unaligned.c
unwind.c
vmlinux.lds.S vmlinux.lds.h: Split ELF_DETAILS from STABS_DEBUG 2020-09-01 09:50:35 +02:00