Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1191437
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 11/18] perf script: Switch from perf.data's kallsyms to perf's symbol resolver |
| Date | 2015-07-24 04:10 +0200 |
| Message-ID | <pPAAW-8ws-7@gated-at.bofh.it> (permalink) |
| References | <pPArf-85G-3@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
From: Arnaldo Carvalho de Melo <acme@redhat.com>
We were storing a copy of kallsyms inside perf.data file so that we
could resolve kernel addresses to function (start, name, mod) tuples,
but that can be achieved using the symbol resolving routines we have
in symbols.c, and that are used elsewhere in tools/perf.
So, do just like 'perf trace' did and ask libtraceevent to use perf's
symbol resolution routines.
The next step is to just skip whatever kallsyms data is embedded in
older perf.data files and finally to stop storing kallsyms in the perf
data file, as the 20-bytes build-id stored in perf.data's header is
enough to find out the right symtab (be it ELF, kcore, kallsyms, etc) to
use.
Acked-by: David Ahern <dsahern@gmail.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Link: http://lkml.kernel.org/n/tip-d0rtb8tk9j72pz0ehw5fnp24@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/builtin-script.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
index 24809787369f..2777c6444bc3 100644
--- a/tools/perf/builtin-script.c
+++ b/tools/perf/builtin-script.c
@@ -1830,6 +1830,13 @@ int cmd_script(int argc, const char **argv, const char *prefix __maybe_unused)
else
symbol_conf.use_callchain = false;
+ if (pevent_set_function_resolver(session->tevent.pevent,
+ machine__resolve_kernel_addr,
+ &session->machines.host) < 0) {
+ pr_err("%s: failed to set libtraceevent function resolver\n", __func__);
+ return -1;
+ }
+
if (generate_script_lang) {
struct stat perf_stat;
int input;
--
2.1.0
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[GIT PULL 00/18] perf/core improvements and fixes Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-07-24 04:00 +0200
[PATCH 01/18] perf test: Check for refcnt in thread_map test Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-07-24 04:00 +0200
[PATCH 06/18] perf symbols: Add front end cache for DSO symbol lookup Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-07-24 04:10 +0200
[PATCH 12/18] perf tools: Stop reading the kallsyms data from perf.data Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-07-24 04:10 +0200
[PATCH 11/18] perf script: Switch from perf.data's kallsyms to perf's symbol resolver Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-07-24 04:10 +0200
Re: [PATCH 11/18] perf script: Switch from perf.data's kallsyms to perf's symbol resolver Jiri Olsa <jolsa@redhat.com> - 2015-08-03 19:50 +0200
Re: [PATCH 11/18] perf script: Switch from perf.data's kallsyms to perf's symbol resolver Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-03 21:10 +0200
Re: [PATCH 11/18] perf script: Switch from perf.data's kallsyms to perf's symbol resolver Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-03 21:30 +0200
Re: [PATCH 11/18] perf script: Switch from perf.data's kallsyms to perf's symbol resolver Jiri Olsa <jolsa@redhat.com> - 2015-08-03 22:20 +0200
[PATCH 03/18] perf evlist: Use bool instead of target argument in propagate_maps() Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-07-24 04:10 +0200
[PATCH 18/18] perf script: Add option --show-switch-events Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-07-24 04:10 +0200
[PATCH 16/18] perf record: Add option --switch-events to select PERF_RECORD_SWITCH events Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-07-24 04:10 +0200
[PATCH 07/18] perf symbols: Introduce map__is_(kernel,kmodule)() Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-07-24 04:10 +0200
[PATCH 08/18] tools lib traceevent: Allow setting an alternative symbol resolver Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-07-24 04:10 +0200
[PATCH 13/18] perf tools: Stop copying kallsyms into the perf.data file header Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-07-24 04:10 +0200
[PATCH 15/18] perf tools: Add new PERF_RECORD_SWITCH event Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-07-24 04:10 +0200
[PATCH 17/18] perf script: Don't assume evsel position of tracking events Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-07-24 04:10 +0200
[PATCH 09/18] perf symbols: Provide libtraceevent callback to resolve kernel symbols Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-07-24 04:10 +0200
[PATCH 14/18] perf: Add PERF_RECORD_SWITCH to indicate context switches Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-07-24 04:10 +0200
[PATCH 05/18] perf header: Use argv style storage for cmdline feature data Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-07-24 04:10 +0200
csiph-web