• Guo Ren's avatar
    riscv: Add KPROBES_ON_FTRACE supported · 829adda5
    Guo Ren authored
    This patch adds support for kprobes on ftrace call sites to avoids
    much of the overhead with regular kprobes. Try it with simple
    steps:
    
     echo 'p:myprobe sys_clone a0=%a0 a1=%a1 stack_val=+4($stack)' > /sys/kernel/de
    bug/tracing/kprobe_events
     echo 1 > /sys/kernel/debug/tracing/events/kprobes/enable
     cat /sys/kernel/debug/tracing/trace
     tracer: nop
    
     entries-in-buffer/entries-written: 1/1   #P:1
    
                                    _-----=> irqs-off
                                   / _----=> need-resched
                                  | / _---=> hardirq/softirq
                                  || / _--=> preempt-depth
                                  ||| /     delay
               TASK-PID     CPU#  ||||   TIMESTAMP  FUNCTION
                  | |         |   ||||      |         |
                  sh-92      [000] ....   369.899962: myprobe: (sys_clone+0x0/0x28) a0=0x1200011 a1=0x0 stack_val=0x201c20ffffffe0
     cat /sys/kernel/debug/kprobes/list
    ffffffe00020b584  k  sys_clone+0x0    [FTRACE]
                                           ^^^^^^
    Signed-off-by: default avatarGuo Ren <guoren@linux.alibaba.com>
    Reviewed-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
    Signed-off-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
    829adda5
ftrace.c 1.38 KB