Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1278442
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 01/13] perf callchain: Honor hide_unresolved |
| Date | 2015-11-26 21:50 +0100 |
| Message-ID | <qzbEn-1Ge-39@gated-at.bofh.it> (permalink) |
| References | <qzbEl-1Ge-5@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
From: Namhyung Kim <namhyung@kernel.org>
If user requested to hide unresolved entries, skip unresolved callchains
as well as hist entries.
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Kan Liang <kan.liang@intel.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/1448521700-32062-3-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/builtin-report.c | 7 +++----
tools/perf/util/machine.c | 5 +++++
tools/perf/util/symbol.h | 3 ++-
3 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index 14428342b47b..8a9c6908f54e 100644
--- a/tools/perf/builtin-report.c
+++ b/tools/perf/builtin-report.c
@@ -45,7 +45,6 @@ struct report {
struct perf_tool tool;
struct perf_session *session;
bool use_tui, use_gtk, use_stdio;
- bool hide_unresolved;
bool dont_use_callchains;
bool show_full_info;
bool show_threads;
@@ -146,7 +145,7 @@ static int process_sample_event(struct perf_tool *tool,
struct hist_entry_iter iter = {
.evsel = evsel,
.sample = sample,
- .hide_unresolved = rep->hide_unresolved,
+ .hide_unresolved = symbol_conf.hide_unresolved,
.add_entry_cb = hist_iter__report_callback,
};
int ret = 0;
@@ -157,7 +156,7 @@ static int process_sample_event(struct perf_tool *tool,
return -1;
}
- if (rep->hide_unresolved && al.sym == NULL)
+ if (symbol_conf.hide_unresolved && al.sym == NULL)
goto out_put;
if (rep->cpu_list && !test_bit(sample->cpu, rep->cpu_bitmap))
@@ -740,7 +739,7 @@ int cmd_report(int argc, const char **argv, const char *prefix __maybe_unused)
OPT_STRING_NOEMPTY('t', "field-separator", &symbol_conf.field_sep, "separator",
"separator for columns, no spaces will be added between "
"columns '.' is reserved."),
- OPT_BOOLEAN('U', "hide-unresolved", &report.hide_unresolved,
+ OPT_BOOLEAN('U', "hide-unresolved", &symbol_conf.hide_unresolved,
"Only display entries resolved to a symbol"),
OPT_STRING(0, "symfs", &symbol_conf.symfs, "directory",
"Look for files with symbols relative to this directory"),
diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index 7f5071a4d9aa..f0019b72db48 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -1618,6 +1618,8 @@ static int add_callchain_ip(struct thread *thread,
}
}
+ if (symbol_conf.hide_unresolved && al.sym == NULL)
+ return 0;
return callchain_cursor_append(&callchain_cursor, al.addr, al.map, al.sym);
}
@@ -1872,6 +1874,9 @@ check_calls:
static int unwind_entry(struct unwind_entry *entry, void *arg)
{
struct callchain_cursor *cursor = arg;
+
+ if (symbol_conf.hide_unresolved && entry->sym == NULL)
+ return 0;
return callchain_cursor_append(cursor, entry->ip,
entry->map, entry->sym);
}
diff --git a/tools/perf/util/symbol.h b/tools/perf/util/symbol.h
index dcd786e364f2..857f707ac12b 100644
--- a/tools/perf/util/symbol.h
+++ b/tools/perf/util/symbol.h
@@ -108,7 +108,8 @@ struct symbol_conf {
show_hist_headers,
branch_callstack,
has_filter,
- show_ref_callgraph;
+ show_ref_callgraph,
+ hide_unresolved;
const char *vmlinux_name,
*kallsyms_name,
*source_prefix,
--
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/13] perf/core improvements and fixes Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-11-26 21:50 +0100 [PATCH 07/13] perf script: Pass perf_script into process_event Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-11-26 21:50 +0100 [PATCH 09/13] perf symbols: Refactor vmlinux_path__init() to ease path additions Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-11-26 21:50 +0100 [PATCH 03/13] perf script: Remove default_scripting_ops Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-11-26 21:50 +0100 [PATCH 04/13] perf build: Fix traceevent plugins build race Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-11-26 21:50 +0100 [PATCH 10/13] perf symbols: Add the path to vmlinux.debug Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-11-26 21:50 +0100 [PATCH 01/13] perf callchain: Honor hide_unresolved Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-11-26 21:50 +0100 [PATCH 06/13] perf tools: Correctly identify anon_hugepage when generating map (v2) Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-11-26 21:50 +0100 [PATCH 02/13] perf top: Fix freeze on --call-graph flat/folded Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-11-26 21:50 +0100 [PATCH 05/13] perf machine: Adjust dso->long_name for offline module Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-11-26 21:50 +0100 [PATCH 11/13] perf stat: Clear sample_(type|period) for counting Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-11-26 21:50 +0100 [PATCH 08/13] tools build: Use fixdep with OUTPUT path prefix Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-11-26 21:50 +0100 Re: [GIT PULL 00/13] perf/core improvements and fixes Ingo Molnar <mingo@kernel.org> - 2015-11-27 08:40 +0100
csiph-web