linux_dsm_epyc7002/arch/s390
Heiko Carstens 3d1e220d08 s390/ftrace: optimize mcount code
Reduce the number of executed instructions within the mcount block if
function tracing is enabled. We achieve that by using a non-standard
C function call ABI. Since the called function is also written in
assembler this is not a problem.
This also allows to replace the unconditional store at the beginning
of the mcount block with a larl instruction, which doesn't touch
memory.

In theory we could also patch the first instruction of the mcount block
to enable and disable function tracing. However this would break kprobes.
This could be fixed with implementing the "kprobes_on_ftrace" feature;
however keeping the odd jprobes working seems not to be possible without
a lot of code churn. Therefore keep the code easy and simply accept one
wasted 1-cycle "larl" instruction per function prologue.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2014-09-09 08:53:30 +02:00
..
appldata s390/appldata: add slab.h for kzalloc/kfree 2014-05-20 08:58:51 +02:00
boot s390/boot: fix boot of compressed kernel built with gcc 4.9 2014-05-27 10:26:04 +02:00
configs tgt: defconfig cleanup 2014-07-17 22:07:44 +02:00
crypto crypto: s390 - fix aes,des ctr mode concurrency finding. 2014-05-08 21:46:09 +08:00
hypfs hypfs: Add clarification for "weight_min" attribute 2014-03-17 15:53:03 +01:00
include s390/ftrace: optimize mcount code 2014-09-09 08:53:30 +02:00
kernel s390/ftrace: optimize mcount code 2014-09-09 08:53:30 +02:00
kvm KVM: s390: Fix user triggerable bug in dead code 2014-08-25 14:35:15 +02:00
lib s390/spinlock: refactor arch_spin_lock_wait[_flags] 2014-05-20 08:58:55 +02:00
math-emu s390: fix save and restore of the floating-point-control register 2013-10-24 17:17:11 +02:00
mm KVM: s390/mm: try a cow on read only pages for key ops 2014-08-25 14:35:28 +02:00
net net: filter: split 'struct sk_filter' into socket and bpf parts 2014-08-02 15:03:58 -07:00
oprofile s390/oprofile: make return of 0 explicit 2014-05-27 10:26:00 +02:00
pci s390/pci: introduce lazy IOTLB flushing for DMA unmap 2014-07-22 09:26:24 +02:00
defconfig s390: update default configuration 2014-06-11 10:13:30 +02:00
Kbuild s390/pci: base support 2012-11-30 15:40:45 +01:00
Kconfig s390/ftrace: enforce DYNAMIC_FTRACE if FUNCTION_TRACER is selected 2014-09-09 08:53:29 +02:00
Kconfig.debug Kconfig: consolidate CONFIG_DEBUG_STRICT_USER_COPY_CHECKS 2013-04-30 17:04:09 -07:00
Makefile s390: pass march flag to assembly files as well 2014-09-09 08:53:28 +02:00