Re: [PATCH -tip 3/8] perf-probe: Show in what binaries/modulesprobes are set

From: Arnaldo Carvalho de Melo
Date: Thu Jan 23 2014 - 09:49:33 EST


Em Thu, Jan 23, 2014 at 02:29:52AM +0000, Masami Hiramatsu escreveu:
> 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

Please add two spaces before lines starting with #, because 'git commit
--amend' asks you to:

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.

:-)

- Arnaldo

> # ./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: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
> ---
> tools/perf/util/probe-event.c | 10 +++++++---
> 1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
> index 14c649df..2fb4486 100644
> --- a/tools/perf/util/probe-event.c
> +++ b/tools/perf/util/probe-event.c
> @@ -1742,7 +1742,8 @@ static struct strlist *get_probe_trace_command_rawlist(int fd)
> }
>
> /* 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;
> char buf[128];
> @@ -1758,6 +1759,8 @@ static int show_perf_probe_event(struct perf_probe_event *pev)
> return ret;
>
> printf(" %-20s (on %s", buf, place);
> + if (module)
> + printf(" in %s", module);
>
> if (pev->nargs > 0) {
> printf(" with");
> @@ -1795,7 +1798,8 @@ static int __show_perf_probe_events(int fd, bool is_kprobe)
> ret = convert_to_perf_probe_event(&tev, &pev,
> is_kprobe);
> if (ret >= 0)
> - ret = show_perf_probe_event(&pev);
> + ret = show_perf_probe_event(&pev,
> + tev.point.module);
> }
> clear_perf_probe_event(&pev);
> clear_probe_trace_event(&tev);
> @@ -1994,7 +1998,7 @@ static int __add_probe_trace_events(struct perf_probe_event *pev,
> group = pev->group;
> pev->event = tev->event;
> pev->group = tev->group;
> - show_perf_probe_event(pev);
> + show_perf_probe_event(pev, tev->point.module);
> /* Trick here - restore current event/group */
> pev->event = (char *)event;
> pev->group = (char *)group;
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/