linux/arch/s390/kernel
Martin Schwidefsky 85ac7ca597 [S390] outstanding interrupts vs. smp_send_stop
The panic function will first print the panic message to the console,
then stop additional cpus with smp_send_stop and finally call the
function on the panic notifier list.
In case of an I/O based console the panic message will cause I/O to
be started and a function on the panic notifier list will wait for the
completion of the I/O. That does not work if an I/O completion interrupt
has already been delivered to a cpu that is then stopped by smp_send_stop.
To break this cyclic dependency add code to smp_send_stop that gives
the additional cpu the opportunity to complete outstanding interrupts.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2011-12-27 11:27:13 +01:00
..
vdso32 [S390] vdso: disable gcov profiling 2011-05-23 10:24:29 +02:00
vdso64 [S390] vdso: disable gcov profiling 2011-05-23 10:24:29 +02:00
asm-offsets.c [S390] cleanup trap handling 2011-12-27 11:27:12 +01:00
audit.c
audit.h
base.S [S390] entry[64].S improvements 2011-12-27 11:27:12 +01:00
bitmap.c [S390] move EXPORT_SYMBOLs to definitions 2009-03-26 15:24:11 +01:00
compat_audit.c
compat_exec_domain.c
compat_linux.c [S390] ipc: call generic sys_ipc demultiplexer 2011-12-27 11:27:13 +01:00
compat_linux.h Mark arguments to certain syscalls as being const 2010-08-13 16:53:13 -07:00
compat_ptrace.h [S390] ptrace cleanup 2011-01-05 12:47:31 +01:00
compat_signal.c [S390] cleanup trap handling 2011-12-27 11:27:12 +01:00
compat_wrapper.S [S390] wire up process_vm syscalls 2011-11-14 11:19:08 +01:00
cpcmd.c
crash_dump.c [S390] Remove error checking from copy_oldmem_page() 2011-10-30 15:16:47 +01:00
crash.c
debug.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
diag.c [S390] replace diag10() with diag10_range() function 2011-05-10 17:13:43 +02:00
dis.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
early.c [S390] Check for NULL termination in command line setup 2011-12-27 11:25:48 +01:00
ebcdic.c
entry64.S [S390] cleanup trap handling 2011-12-27 11:27:12 +01:00
entry.h [S390] cleanup trap handling 2011-12-27 11:27:12 +01:00
entry.S [S390] cleanup trap handling 2011-12-27 11:27:12 +01:00
ftrace.c [S390] cleanup ftrace backend functions 2011-01-05 12:47:31 +01:00
head31.S [S390] smp: external call vs. emergency signal 2011-10-30 15:16:44 +01:00
head64.S [S390] smp: external call vs. emergency signal 2011-10-30 15:16:44 +01:00
head_kdump.S [S390] kdump backend code 2011-10-30 15:16:42 +01:00
head.S [S390] entry[64].S improvements 2011-12-27 11:27:12 +01:00
init_task.c Use new __init_task_data macro in arch init_task.c files. 2009-09-21 06:27:08 +02:00
ipl.c [S390] sparse: fix sparse warnings about missing prototypes 2011-10-30 15:16:46 +01:00
irq.c [S390] irqstats: split IPI interrupt accounting 2011-10-30 15:16:47 +01:00
jump_label.c s390/jump-label: add arch_jump_label_transform_static() 2011-10-25 11:54:37 -07:00
kprobes.c [S390] sparse: fix sparse static warnings 2011-10-30 15:16:46 +01:00
machine_kexec.c [S390] cleanup psw related bits and pieces 2011-10-30 15:16:43 +01:00
Makefile [S390] topology: get rid of ifdefs 2011-12-27 11:27:10 +01:00
mcount64.S [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
mcount.S [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
mem_detect.c [S390] Rework create_mem_hole() function 2011-12-27 11:27:09 +01:00
module.c modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
nmi.c [S390] irq: have detailed statistics for interrupt types 2011-01-05 12:47:25 +01:00
process.c [S390] sparse: fix sparse warnings about missing prototypes 2011-10-30 15:16:46 +01:00
processor.c [S390] avoid warning in show_cpuinfo 2011-10-30 15:16:15 +01:00
ptrace.c [S390] remove reset of system call restart on psw changes 2011-12-01 13:32:17 +01:00
reipl64.S [S390] entry[64].S improvements 2011-12-27 11:27:12 +01:00
reipl.S [S390] kdump backend code 2011-10-30 15:16:42 +01:00
relocate_kernel64.S [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
relocate_kernel.S [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
s390_ksyms.c [S390] move sie code to entry.S 2011-07-24 10:48:21 +02:00
sclp.S [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
setup.c [S390] kvm: move cmf host id constant out of lowcore 2011-12-27 11:27:12 +01:00
signal.c [S390] cleanup trap handling 2011-12-27 11:27:12 +01:00
smp.c [S390] outstanding interrupts vs. smp_send_stop 2011-12-27 11:27:13 +01:00
stacktrace.c
suspend.c [S390] sparse: fix sparse warnings about missing prototypes 2011-10-30 15:16:46 +01:00
switch_cpu64.S [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
switch_cpu.S [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
swsusp_asm64.S PM / Hibernate: Include storage keys in hibernation image on s390 2011-10-16 23:27:46 +02:00
sys_s390.c [S390] ipc: call generic sys_ipc demultiplexer 2011-12-27 11:27:13 +01:00
syscalls.S [S390] wire up process_vm syscalls 2011-11-14 11:19:08 +01:00
sysinfo.c [S390] sparse: fix sparse warnings in math-emu 2011-10-30 15:16:46 +01:00
time.c [S390] sparse: fix sparse warnings about missing prototypes 2011-10-30 15:16:46 +01:00
topology.c [S390] topology: increase poll frequency if change is anticipated 2011-12-27 11:27:12 +01:00
traps.c [S390] cleanup trap handling 2011-12-27 11:27:12 +01:00
vdso.c mm: arch: rename in_gate_area_no_task to in_gate_area_no_mm 2011-03-23 16:36:55 -04:00
vmlinux.lds.S [S390] incorrect note program header 2011-11-14 11:19:08 +01:00
vtime.c [S390] sparse: fix sparse static warnings 2011-10-30 15:16:46 +01:00