• Ilya Leoshkevich's avatar
    s390: implement perf_arch_fetch_caller_regs · 914d52e4
    Ilya Leoshkevich authored
    On s390 bpf_get_stack_raw_tp() returns 0 entries for both kernel and
    user stacks. While there is no practical unwinding solution for userspace
    on s390 at this moment, there certainly is a kernel unwinder. However,
    it is not properly integrated with BPF.
    
    In order to start unwinding, bpf_get_stack_raw_tp() obtains the current
    kernel register values using perf_fetch_caller_regs(), which is not
    implemented for s390. The actual unwinding then happens by passing those
    registers to perf_callchain_kernel().
    
    Implement perf_arch_fetch_caller_regs() for s390, where
    __builtin_frame_address(0) points to back_chain.
    Signed-off-by: default avatarIlya Leoshkevich <iii@linux.ibm.com>
    Acked-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
    914d52e4
perf_event.h 3.14 KB