Commit fb226ccd authored by Masami Hiramatsu's avatar Masami Hiramatsu Committed by Arnaldo Carvalho de Melo

perf probe: Show in what binaries/modules probes are set

Show the name of binary file or modules in which the probes are set with
--list option.

Without this change;

  # ./perf probe -m drm drm_av_sync_delay
  # ./perf probe -x perf dso__load_vmlinux

  # ./perf probe -l
    probe:drm_av_sync_delay (on drm_av_sync_delay)
    probe_perf:dso__load_vmlinux (on 0x000000000006d110)

With this change;

  # ./perf probe -l
    probe:drm_av_sync_delay (on drm_av_sync_delay in drm)
    probe_perf:dso__load_vmlinux (on 0x000000000006d110 in /kbuild/ksrc/linux-3/tools/perf/perf)
Signed-off-by: default avatarMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: "David A. Long" <dave.long@linaro.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: yrl.pp-manager.tt@hitachi.com
Link: http://lkml.kernel.org/r/20140206053213.29635.69948.stgit@kbuild-fedora.yrl.intra.hitachi.co.jpSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 2df58634
...@@ -1728,7 +1728,8 @@ static struct strlist *get_probe_trace_command_rawlist(int fd) ...@@ -1728,7 +1728,8 @@ static struct strlist *get_probe_trace_command_rawlist(int fd)
} }
/* Show an event */ /* Show an event */
static int show_perf_probe_event(struct perf_probe_event *pev) static int show_perf_probe_event(struct perf_probe_event *pev,
const char *module)
{ {
int i, ret; int i, ret;
char buf[128]; char buf[128];
...@@ -1744,6 +1745,8 @@ static int show_perf_probe_event(struct perf_probe_event *pev) ...@@ -1744,6 +1745,8 @@ static int show_perf_probe_event(struct perf_probe_event *pev)
return ret; return ret;
printf(" %-20s (on %s", buf, place); printf(" %-20s (on %s", buf, place);
if (module)
printf(" in %s", module);
if (pev->nargs > 0) { if (pev->nargs > 0) {
printf(" with"); printf(" with");
...@@ -1781,7 +1784,8 @@ static int __show_perf_probe_events(int fd, bool is_kprobe) ...@@ -1781,7 +1784,8 @@ static int __show_perf_probe_events(int fd, bool is_kprobe)
ret = convert_to_perf_probe_event(&tev, &pev, ret = convert_to_perf_probe_event(&tev, &pev,
is_kprobe); is_kprobe);
if (ret >= 0) if (ret >= 0)
ret = show_perf_probe_event(&pev); ret = show_perf_probe_event(&pev,
tev.point.module);
} }
clear_perf_probe_event(&pev); clear_perf_probe_event(&pev);
clear_probe_trace_event(&tev); clear_probe_trace_event(&tev);
...@@ -1980,7 +1984,7 @@ static int __add_probe_trace_events(struct perf_probe_event *pev, ...@@ -1980,7 +1984,7 @@ static int __add_probe_trace_events(struct perf_probe_event *pev,
group = pev->group; group = pev->group;
pev->event = tev->event; pev->event = tev->event;
pev->group = tev->group; pev->group = tev->group;
show_perf_probe_event(pev); show_perf_probe_event(pev, tev->point.module);
/* Trick here - restore current event/group */ /* Trick here - restore current event/group */
pev->event = (char *)event; pev->event = (char *)event;
pev->group = (char *)group; pev->group = (char *)group;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment