linux/arch/s390
Heiko Carstens aa44433ac4 s390: add USER_STACKTRACE support
Use the perf_callchain_user() code as blueprint to also add support for
USER_STACKTRACE. To describe how to use this cite the commit message of the
LoongArch implementation which came with commit 4d7bf939df ("LoongArch:
Add USER_STACKTRACE support"), but replace -fno-omit-frame-pointer option
with the s390 specific -mbackchain option:
====================================================================== To
get the best stacktrace output, you can compile your userspace programs
with frame pointers (at least glibc + the app you are tracing).

1, export "CC = gcc -mbackchain";
2, compile your programs with "CC";
3, use uprobe to get stacktrace output.

...
     echo 'p:malloc /usr/lib64/libc.so.6:0x0a4704 size=%r2:u64' > uprobe_events
     echo 'p:free /usr/lib64/libc.so.6:0x0a4d50 ptr=%r2:u64' >> uprobe_events
     echo 'comm == "demo"' > ./events/uprobes/malloc/filter
     echo 'comm == "demo"' > ./events/uprobes/free/filter
     echo 1 > ./options/userstacktrace
     echo 1 > ./options/sym-userobj
...
======================================================================

Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2023-11-05 22:34:57 +01:00
..
appldata S390: Remove now superfluous sentinel elem from ctl_table arrays 2023-10-10 15:22:02 -07:00
boot s390 updates for the 6.7 merge window 2023-11-03 10:17:22 -10:00
configs s390: update defconfigs 2023-09-19 13:25:44 +02:00
crypto s390/paes: fix PKEY_TYPE_EP11_AES handling for secure keyblobs 2023-08-17 15:18:53 +02:00
hypfs hypfs: convert to new timestamp accessors 2023-10-18 13:26:15 +02:00
include s390/perf: implement perf_callchain_user() 2023-11-05 22:34:57 +01:00
kernel s390: add USER_STACKTRACE support 2023-11-05 22:34:57 +01:00
kvm s390 updates for the 6.7 merge window 2023-11-03 10:17:22 -10:00
lib s390/ctlreg: add struct ctlreg 2023-09-19 13:26:56 +02:00
mm s390/mm: add missing conversion to use ptdescs 2023-11-05 22:34:57 +01:00
net bpf-next-for-netdev 2023-10-16 21:05:33 -07:00
pci s390 updates for the 6.7 merge window 2023-11-03 10:17:22 -10:00
purgatory s390 updates for 6.5 merge window part 2 2023-07-06 13:18:30 -07:00
tools KVM: s390: Add facility 197 to the allow list 2022-07-13 15:25:25 +02:00
Kbuild - An extensive rework of kexec and crash Kconfig from Eric DeVolder 2023-08-29 14:53:51 -07:00
Kconfig s390: add USER_STACKTRACE support 2023-11-05 22:34:57 +01:00
Kconfig.debug
Makefile s390: use obj-y to descend into drivers/s390/ 2023-07-24 12:12:25 +02:00