diff options
author | Masami Hiramatsu <mhiramat@kernel.org> | 2016-08-26 23:57:58 +0900 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2016-09-01 12:42:22 -0300 |
commit | e50243bbeb528e92e31e03e560b557737c9def3c (patch) | |
tree | 03fb12c524c654d1bc3bf336c5dab71cea443c36 | |
parent | 293d5b43948309434568f4dcbb36cce4c3c51bd5 (diff) | |
download | op-kernel-dev-e50243bbeb528e92e31e03e560b557737c9def3c.zip op-kernel-dev-e50243bbeb528e92e31e03e560b557737c9def3c.tar.gz |
perf probe: Ignore vmlinux Build-id when offline vmlinux given
Ignore vmlinux build-id when user gives offline vmlinux if the command
does not affect running kernel.
perf-probe has several actions some of them does not change the running
kernel, like --lines, --vars, and --funcs.
e.g.
-----
$ ./perf probe -k ./vmlinux-arm -V do_sys_open:14
Available variables at do_sys_open:14
@<do_sys_open+202>
char* filename
int dfd
int fd
int flags
struct filename* tmp
struct open_flags op
umode_t mode
-----
Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/147222347320.5088.2582658035296667520.stgit@devbox
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r-- | tools/perf/builtin-probe.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/tools/perf/builtin-probe.c b/tools/perf/builtin-probe.c index b4220cd..f87996b 100644 --- a/tools/perf/builtin-probe.c +++ b/tools/perf/builtin-probe.c @@ -611,6 +611,14 @@ __cmd_probe(int argc, const char **argv, const char *prefix __maybe_unused) */ symbol_conf.try_vmlinux_path = (symbol_conf.vmlinux_name == NULL); + /* + * Except for --list, --del and --add, other command doesn't depend + * nor change running kernel. So if user gives offline vmlinux, + * ignore its buildid. + */ + if (!strchr("lda", params.command) && symbol_conf.vmlinux_name) + symbol_conf.ignore_vmlinux_buildid = true; + switch (params.command) { case 'l': if (params.uprobes) { @@ -655,13 +663,6 @@ __cmd_probe(int argc, const char **argv, const char *prefix __maybe_unused) } break; case 'D': - /* - * If user gives offline vmlinux, ignore buildid, since - * --definition doesn't change running kernel. - */ - if (symbol_conf.vmlinux_name) - symbol_conf.ignore_vmlinux_buildid = true; - /* fall through */ case 'a': /* Ensure the last given target is used */ |