• Masami Hiramatsu's avatar
    perf probe: Cut off the gcc optimization postfixes from function name · 35a23ff9
    Masami Hiramatsu authored
    Cut off the postfixes which gcc added for optimized routines from the
    event name automatically generated from symbol name, since *probe-events
    doesn't accept it.  Those symbols will be used if we don't use debuginfo
    to find target functions.
    
    E.g. without this fix;
      -----
      # perf probe -va alloc_buf.isra.23
      probe-definition(0): alloc_buf.isra.23
      symbol:alloc_buf.isra.23 file:(null) line:0 offset:0 return:0 lazy:(null)
      [...]
      Opening /sys/kernel/debug/tracing/kprobe_events write=1
      Added new event:
      Writing event: p:probe/alloc_buf.isra.23 _text+4869328
      Failed to write event: Invalid argument
        Error: Failed to add events. Reason: Invalid argument (Code: -22)
      -----
    With this fix;
      -----
      perf probe -va alloc_buf.isra.23
      probe-definition(0): alloc_buf.isra.23
      symbol:alloc_buf.isra.23 file:(null) line:0 offset:0 return:0 lazy:(null)
      [...]
      Opening /sys/kernel/debug/tracing/kprobe_events write=1
      Added new event:
      Writing event: p:probe/alloc_buf _text+4869328
        probe:alloc_buf      (on alloc_buf.isra.23)
    
      You can now use it in all perf tools, such as:
    
      	perf record -e probe:alloc_buf -aR sleep 1
    
      -----
    Signed-off-by: default avatarMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Naohiro Aota <naota@elisp.net>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20150612050820.20548.41625.stgit@localhost.localdomainSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    35a23ff9
probe-event.c 65.2 KB