[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <tip-e50243bbeb528e92e31e03e560b557737c9def3c@git.kernel.org>
Date: Mon, 5 Sep 2016 06:23:48 -0700
From: tip-bot for Masami Hiramatsu <tipbot@...or.com>
To: linux-tip-commits@...r.kernel.org
Cc: mhiramat@...nel.org, hpa@...or.com, tglx@...utronix.de,
acme@...hat.com, mingo@...nel.org, jolsa@...hat.com,
peterz@...radead.org, linux-kernel@...r.kernel.org
Subject: [tip:perf/core] perf probe: Ignore vmlinux Build-id when offline
vmlinux given
Commit-ID: e50243bbeb528e92e31e03e560b557737c9def3c
Gitweb: http://git.kernel.org/tip/e50243bbeb528e92e31e03e560b557737c9def3c
Author: Masami Hiramatsu <mhiramat@...nel.org>
AuthorDate: Fri, 26 Aug 2016 23:57:58 +0900
Committer: Arnaldo Carvalho de Melo <acme@...hat.com>
CommitDate: Thu, 1 Sep 2016 12:42:22 -0300
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@...nel.org>
Cc: Jiri Olsa <jolsa@...hat.com>
Cc: Peter Zijlstra <peterz@...radead.org>
Link: http://lkml.kernel.org/r/147222347320.5088.2582658035296667520.stgit@devbox
Signed-off-by: Arnaldo Carvalho de Melo <acme@...hat.com>
---
tools/perf/builtin-probe.c | 15 ++++++++-------
1 file 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 */
Powered by blists - more mailing lists