Although defined as exclusive of perf report and perf script, the attribute show_full_info interacts with the full_only attributes of feature_ops, that are defined for all commands.
Make show_full_info a tool attribute so that any perf_event__process_* callbacks that access to feature_ops can access to it. Signed-off-by: David Carrillo-Cisneros <davi...@google.com> --- tools/perf/builtin-report.c | 5 ++--- tools/perf/builtin-script.c | 6 +++--- tools/perf/util/tool.h | 1 + 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c index 22478ff2b706..08c90d65a252 100644 --- a/tools/perf/builtin-report.c +++ b/tools/perf/builtin-report.c @@ -54,7 +54,6 @@ struct report { struct perf_tool tool; struct perf_session *session; bool use_tui, use_gtk, use_stdio; - bool show_full_info; bool show_threads; bool inverted_callchain; bool mem_mode; @@ -806,7 +805,7 @@ int cmd_report(int argc, const char **argv) symbol__config_symfs), OPT_STRING('C', "cpu", &report.cpu_list, "cpu", "list of cpus to profile"), - OPT_BOOLEAN('I', "show-info", &report.show_full_info, + OPT_BOOLEAN('I', "show-info", &report.tool.show_full_info, "Display extended information about perf.data file"), OPT_BOOLEAN(0, "source", &symbol_conf.annotate_src, "Interleave source code with assembly code (default)"), @@ -1005,7 +1004,7 @@ int cmd_report(int argc, const char **argv) if ((report.header || report.header_only) && !quiet) { perf_session__fprintf_info(session, stdout, - report.show_full_info); + report.tool.show_full_info); if (report.header_only) { ret = 0; goto error; diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c index d05aec491cff..1edfa0da0a6c 100644 --- a/tools/perf/builtin-script.c +++ b/tools/perf/builtin-script.c @@ -2374,7 +2374,6 @@ int process_cpu_map_event(struct perf_tool *tool __maybe_unused, int cmd_script(int argc, const char **argv) { - bool show_full_info = false; bool header = false; bool header_only = false; bool script_started = false; @@ -2466,7 +2465,7 @@ int cmd_script(int argc, const char **argv) "Set the maximum stack depth when parsing the callchain, " "anything beyond the specified depth will be ignored. " "Default: kernel.perf_event_max_stack or " __stringify(PERF_MAX_STACK_DEPTH)), - OPT_BOOLEAN('I', "show-info", &show_full_info, + OPT_BOOLEAN('I', "show-info", &script.tool.show_full_info, "display extended information from perf.data file"), OPT_BOOLEAN('\0', "show-kernel-path", &symbol_conf.show_kernel_path, "Show the path of [kernel.kallsyms]"), @@ -2684,7 +2683,8 @@ int cmd_script(int argc, const char **argv) return -1; if (header || header_only) { - perf_session__fprintf_info(session, stdout, show_full_info); + perf_session__fprintf_info(session, stdout, + script.tool.show_full_info); if (header_only) goto out_delete; } diff --git a/tools/perf/util/tool.h b/tools/perf/util/tool.h index 829471a1c6d7..795b2be7b51f 100644 --- a/tools/perf/util/tool.h +++ b/tools/perf/util/tool.h @@ -68,6 +68,7 @@ struct perf_tool { bool ordered_events; bool ordering_requires_timestamps; bool namespace_events; + bool show_full_info; }; #endif /* __PERF_TOOL_H */ -- 2.13.0.303.g4ebf302169-goog