linux/arch/s390
Thomas Richter 5aa98879ef s390/cpum_sf: prohibit callchain data collection
CPU Measurement sampling facility on s390 does not support
perf tool collection of callchain data using --call-graph
option. The sampling facility collects samples in a ring
buffer which includes only the instruction address the
samples were taken. When the ring buffer hits a watermark,
a measurement alert interrupt is triggered and handled
by the performance measurement unit (PMU) device driver.
It collects the samples and feeds each sample to the
perf ring buffer in the common code via functions
perf_prepare_sample()/perf_output_sample(). When function
perf_prepare_sample() is called to collect sample data's
callchain, user register values or stack area, invalid
data is picked, because the context of the collected
information does not match the context when the sample
was taken.

There is currently no way to provide the callchain and other
information, because the hardware sampler does not collect this
information.

Therefore prohibit sampling when the user requests a callchain graph
from the hardware sampler. Return -EOPNOTSUPP to the user in this
case.
If call chains are really wanted, users need to specify software
event cpu-clock to get the callchain information from a
software event.

Signed-off-by: Thomas Richter <tmricht@linux.ibm.com>
Reviewed-by: Sumanth Korikkar <sumanthk@linux.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
2020-07-01 20:02:33 +02:00
..
appldata s390 updates for the 5.8 merge window 2020-06-08 12:05:31 -07:00
boot mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
configs s390 updates for the 5.7 merge window 2020-04-04 09:45:50 -07:00
crypto s390/crypto: use scnprintf() instead of snprintf() 2020-06-16 13:44:05 +02:00
hypfs fs_parse: fold fs_parameter_desc/fs_parameter_spec 2020-02-07 14:48:37 -05:00
include s390: fix syscall_get_error for compat processes 2020-06-17 23:05:05 +02:00
kernel s390/cpum_sf: prohibit callchain data collection 2020-07-01 20:02:33 +02:00
kvm Kbuild updates for v5.8 (2nd) 2020-06-13 13:29:16 -07:00
lib s390 updates for the 5.8 merge window 2020-06-08 12:05:31 -07:00
mm s390/maccess: add no DAT mode to kernel_write 2020-06-29 16:26:36 +02:00
net s390/bpf: Use bcr 0,%0 as tail call nop filler 2020-06-02 21:04:04 +02:00
numa s390/mm: remove fake numa support 2020-02-27 16:02:21 +01:00
oprofile s390/unwind: introduce stack unwind API 2019-05-02 13:54:11 +02:00
pci s390/pci: fix enabling a reserved PCI function 2020-06-29 16:26:28 +02:00
purgatory .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
scripts s390/build: use size command to perform empty .bss check 2019-08-08 14:36:53 +02:00
tools .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
Kbuild s390/kexec_file: Add purgatory 2018-04-16 09:10:22 +02:00
Kconfig s390/numa: let NODES_SHIFT depend on NEED_MULTIPLE_NODES 2020-06-16 13:44:05 +02:00
Kconfig.debug treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile s390: make 'install' not depend on vmlinux 2020-02-17 18:01:58 +01:00