linux/arch/s390/kernel
Heiko Carstens 758d39ebd3 s390/dumpstack: merge all four stack tracers
We have four different stack tracers of which three had bugs. So it's
time to merge them to a single stack tracer which allows to specify a
call back function which will be called for each step.

This patch changes behavior a bit:

- the "nosched" and "in_sched_functions" check within
  save_stack_trace_tsk did work only for the last stack frame within a
  context. Now it considers the check for each stack frame like it
  should.

- both the oprofile variant and the perf_events variant did save a
  return address twice if a zero back chain was detected, which
  indicates an interrupt frame. The new dump_trace function will call
  the oprofile and perf_events backends with the psw address that is
  contained within the corresponding pt_regs structure instead.

- the original show_trace and save_context_stack functions did already
  use the psw address of the pt_regs structure if a zero back chain
  was detected. However now we ignore the psw address if it is a user
  space address. After all we trace the kernel stack and not the user
  space stack. This way we also get rid of the garbage user space
  address in case of warnings and / or panic call traces.

So this should make life easier since now there is only one stack
tracer left which we can break.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2016-02-23 08:56:20 +01:00
..
vdso32 s390/vdso: optimize getcpu system call 2016-01-11 13:01:24 +01:00
vdso64 s390/vdso: optimize getcpu system call 2016-01-11 13:01:24 +01:00
.gitignore s390: add various .gitignore files. 2012-05-16 14:42:41 +02:00
asm-offsets.c s390/vdso: optimize getcpu system call 2016-01-11 13:01:24 +01:00
audit.c
audit.h
base.S s390/kdump: fix nosmt kernel parameter 2015-06-25 09:39:26 +02:00
cache.c s390/cachinfo: add missing facility check to init_cache_level() 2015-07-28 08:54:42 +02:00
compat_audit.c
compat_linux.c groups: Consolidate the setgroups permission checks 2014-12-05 17:19:27 -06:00
compat_linux.h s390: add support for vector extension 2014-10-09 09:14:13 +02:00
compat_ptrace.h [S390] ptrace cleanup 2011-01-05 12:47:31 +01:00
compat_signal.c s390/compat: correct restore of high gprs on signal return 2016-02-22 09:29:35 +01:00
compat_wrapper.c s390: wire up copy_file_range syscall 2016-01-19 12:14:02 +01:00
cpcmd.c s390/diag: add a statistic for diagnose calls 2015-10-14 14:32:06 +02:00
crash_dump.c s390: remove superfluous memblock_alloc() return value checks 2016-01-19 12:14:02 +01:00
debug.c s390: remove all usages of PSW_ADDR_INSN 2016-01-19 12:14:03 +01:00
diag.c s390/diag: add a s390 prefix to the diagnose trace point 2015-11-09 09:10:47 +01:00
dis.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2016-01-13 13:16:16 -08:00
dumpstack.c s390/dumpstack: merge all four stack tracers 2016-02-23 08:56:20 +01:00
early.c s390: remove all usages of PSW_ADDR_INSN 2016-01-19 12:14:03 +01:00
ebcdic.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
entry.h s390/udelay: make udelay have busy loop semantics 2015-10-14 14:32:13 +02:00
entry.S s390/spinlock: do not yield to a CPU in udelay/mdelay 2015-11-27 09:24:18 +01:00
ftrace.c s390: remove all usages of PSW_ADDR_INSN 2016-01-19 12:14:03 +01:00
head64.S s390/facilities: always use lowcore's stfle field for storing facility bits 2015-12-18 14:59:19 +01:00
head_kdump.S s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
head.S s390/facilities: make use of generated facility list 2015-12-18 14:59:21 +01:00
idle.c s390/idle: convert open coded idle time seqcount 2014-12-08 09:42:32 +01:00
ipl.c s390: remove all usages of PSW_ADDR_AMODE 2016-01-19 12:14:02 +01:00
irq.c s390: add current_stack_pointer() helper function 2016-02-23 08:56:18 +01:00
jump_label.c Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-09-03 15:46:07 -07:00
kprobes.c s390: remove all usages of PSW_ADDR_INSN 2016-01-19 12:14:03 +01:00
lgr.c s390/sysinfo,stsi: change return code handling 2012-09-26 15:45:12 +02:00
machine_kexec.c s390/dump: rework CPU register dump code 2015-11-27 09:24:14 +01:00
Makefile s390: get rid of CONFIG_SCHED_MC and CONFIG_SCHED_BOOK 2015-12-30 10:34:57 +01:00
mcount.S s390/ftrace: hotpatch support for function tracing 2015-01-29 09:19:25 +01:00
module.c module: use a structure to encapsulate layout. 2015-12-04 22:46:25 +01:00
nmi.c s390/nmi: reduce size of percpu variable 2015-10-27 09:33:57 +01:00
os_info.c s390/dump: streamline oldmem copy functions 2015-11-27 09:24:12 +01:00
perf_cpum_cf_events.c s390/cpum_cf: Export event names in sysfs 2013-12-16 14:37:50 +01:00
perf_cpum_cf.c Merge branch 'linus' into perf/core, to pick up fixes before applying new changes 2015-09-28 08:06:57 +02:00
perf_cpum_sf.c s390/cpumf: rework program parameter setting to detect guest samples 2015-10-14 14:32:12 +02:00
perf_event.c s390/dumpstack: merge all four stack tracers 2016-02-23 08:56:20 +01:00
pgm_check.S s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
process.c s390: remove all usages of PSW_ADDR_INSN 2016-01-19 12:14:03 +01:00
processor.c s390: show virtualization support in /proc/cpuinfo 2015-11-30 12:47:11 +01:00
ptrace.c s390: remove all usages of PSW_ADDR_INSN 2016-01-19 12:14:03 +01:00
reipl.S s390/dump: rework CPU register dump code 2015-11-27 09:24:14 +01:00
relocate_kernel.S s390: remove "64" suffix from a couple of files 2015-03-25 11:49:34 +01:00
runtime_instr.c s390: remove runtime instrumentation interrupts 2015-11-03 14:40:51 +01:00
s390_ksyms.c s390/fpu: split fpu-internal.h into fpu internals, api, and type headers 2015-10-16 09:41:12 +02:00
sclp.c s390/sclp: Add VT220 support to early sclp console 2015-11-27 09:24:17 +01:00
setup.c s390: remove all usages of PSW_ADDR_AMODE 2016-01-19 12:14:02 +01:00
signal.c s390: remove all usages of PSW_ADDR_AMODE 2016-01-19 12:14:02 +01:00
smp.c s390: remove superfluous memblock_alloc() return value checks 2016-01-19 12:14:02 +01:00
stacktrace.c s390/dumpstack: merge all four stack tracers 2016-02-23 08:56:20 +01:00
suspend.c PCI: Include <linux/pci.h>, not <asm/pci.h> 2015-06-08 07:55:03 -05:00
swsusp.S s390/hibernate: fix save and restore of vector registers 2015-09-17 13:43:41 +02:00
sys_s390.c s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
syscalls.S s390: wire up copy_file_range syscall 2016-01-19 12:14:02 +01:00
sysinfo.c s390/sysinfo: add missing SYSIB 1.2.2 multithreading fields 2016-01-11 12:27:00 +01:00
time.c s390/etr,stp: fix possible deadlock on machine check 2015-10-14 14:32:18 +02:00
topology.c s390/topology: reduce per_cpu() invocations 2015-10-27 09:34:39 +01:00
trace.c s390/diag: avoid lockdep recursion 2016-02-11 13:05:56 +01:00
traps.c s390: remove all usages of PSW_ADDR_INSN 2016-01-19 12:14:03 +01:00
uprobes.c s390/uprobes: fix address space annotation 2015-03-25 11:49:47 +01:00
vdso.c s390/vdso: optimize getcpu system call 2016-01-11 13:01:24 +01:00
vmlinux.lds.S s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
vtime.c s390/vtime: correct scaled cputime of partially idle CPUs 2015-09-30 16:22:38 +02:00