linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>
Cc: Clark Williams <williams@redhat.com>,
	linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Adrian Hunter <adrian.hunter@intel.com>,
	David Ahern <dsahern@gmail.com>, Jiri Olsa <jolsa@kernel.org>,
	Namhyung Kim <namhyung@kernel.org>,
	Wang Nan <wangnan0@huawei.com>
Subject: [PATCH 22/46] perf annotate: Adopt anotation options from symbol_conf
Date: Tue,  5 Jun 2018 14:50:06 -0300	[thread overview]
Message-ID: <20180605175030.32549-23-acme@kernel.org> (raw)
In-Reply-To: <20180605175030.32549-1-acme@kernel.org>

From: Arnaldo Carvalho de Melo <acme@redhat.com>

Continuing to group annotation options in an annotation specific struct.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: https://lkml.kernel.org/n/tip-astei92tzxp4yccag5pxb2h7@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/builtin-annotate.c | 4 ++--
 tools/perf/builtin-report.c   | 6 ++++--
 tools/perf/builtin-top.c      | 4 ++--
 tools/perf/util/annotate.c    | 6 ++++--
 tools/perf/util/annotate.h    | 4 +++-
 tools/perf/util/symbol.c      | 1 -
 tools/perf/util/symbol.h      | 2 --
 7 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
index 7238010f28d4..2ca7172f0780 100644
--- a/tools/perf/builtin-annotate.c
+++ b/tools/perf/builtin-annotate.c
@@ -515,9 +515,9 @@ int cmd_annotate(int argc, const char **argv)
 	OPT_CALLBACK(0, "symfs", NULL, "directory",
 		     "Look for files with symbols relative to this directory",
 		     symbol__config_symfs),
-	OPT_BOOLEAN(0, "source", &symbol_conf.annotate_src,
+	OPT_BOOLEAN(0, "source", &annotate.opts.annotate_src,
 		    "Interleave source code with assembly code (default)"),
-	OPT_BOOLEAN(0, "asm-raw", &symbol_conf.annotate_asm_raw,
+	OPT_BOOLEAN(0, "asm-raw", &annotate.opts.show_asm_raw,
 		    "Display raw encoding of assembly instructions (default)"),
 	OPT_STRING('M', "disassembler-style", &disassembler_style, "disassembler style",
 		   "Specify disassembler style (e.g. -M intel for intel syntax)"),
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index 7a689c933f04..bee6dbfbf11e 100644
--- a/tools/perf/builtin-report.c
+++ b/tools/perf/builtin-report.c
@@ -71,6 +71,7 @@ struct report {
 	bool			group_set;
 	int			max_stack;
 	struct perf_read_values	show_threads_values;
+	struct annotation_options annotation_opts;
 	const char		*pretty_printing_style;
 	const char		*cpu_list;
 	const char		*symbol_filter_str;
@@ -988,6 +989,7 @@ int cmd_report(int argc, const char **argv)
 		.max_stack		 = PERF_MAX_STACK_DEPTH,
 		.pretty_printing_style	 = "normal",
 		.socket_filter		 = -1,
+		.annotation_opts	 = annotation__default_options,
 	};
 	const struct option options[] = {
 	OPT_STRING('i', "input", &input_name, "file",
@@ -1077,9 +1079,9 @@ int cmd_report(int argc, const char **argv)
 		   "list of cpus to profile"),
 	OPT_BOOLEAN('I', "show-info", &report.show_full_info,
 		    "Display extended information about perf.data file"),
-	OPT_BOOLEAN(0, "source", &symbol_conf.annotate_src,
+	OPT_BOOLEAN(0, "source", &report.annotation_opts.annotate_src,
 		    "Interleave source code with assembly code (default)"),
-	OPT_BOOLEAN(0, "asm-raw", &symbol_conf.annotate_asm_raw,
+	OPT_BOOLEAN(0, "asm-raw", &report.annotation_opts.show_asm_raw,
 		    "Display raw encoding of assembly instructions (default)"),
 	OPT_STRING('M', "disassembler-style", &disassembler_style, "disassembler style",
 		   "Specify disassembler style (e.g. -M intel for intel syntax)"),
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index 2c14ca61c657..e65e72c06a01 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -1340,9 +1340,9 @@ int cmd_top(int argc, const char **argv)
 		   "only consider symbols in these comms"),
 	OPT_STRING(0, "symbols", &symbol_conf.sym_list_str, "symbol[,symbol...]",
 		   "only consider these symbols"),
-	OPT_BOOLEAN(0, "source", &symbol_conf.annotate_src,
+	OPT_BOOLEAN(0, "source", &top.annotation_opts.annotate_src,
 		    "Interleave source code with assembly code (default)"),
-	OPT_BOOLEAN(0, "asm-raw", &symbol_conf.annotate_asm_raw,
+	OPT_BOOLEAN(0, "asm-raw", &top.annotation_opts.show_asm_raw,
 		    "Display raw encoding of assembly instructions (default)"),
 	OPT_BOOLEAN(0, "demangle-kernel", &symbol_conf.demangle_kernel,
 		    "Enable kernel symbol demangling"),
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index 502f9d124a44..ff8f4f474b22 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -47,6 +47,7 @@
 struct annotation_options annotation__default_options = {
 	.use_offset     = true,
 	.jump_arrows    = true,
+	.annotate_src	= true,
 	.offset_level	= ANNOTATION__OFFSET_JUMP_TARGETS,
 };
 
@@ -1609,6 +1610,7 @@ static int dso__disassemble_filename(struct dso *dso, char *filename, size_t fil
 
 static int symbol__disassemble(struct symbol *sym, struct annotate_args *args)
 {
+	struct annotation_options *opts = args->options;
 	struct map *map = args->ms.map;
 	struct dso *dso = map->dso;
 	char *command;
@@ -1661,8 +1663,8 @@ static int symbol__disassemble(struct symbol *sym, struct annotate_args *args)
 		 disassembler_style ? disassembler_style : "",
 		 map__rip_2objdump(map, sym->start),
 		 map__rip_2objdump(map, sym->end),
-		 symbol_conf.annotate_asm_raw ? "" : "--no-show-raw",
-		 symbol_conf.annotate_src ? "-S" : "",
+		 opts->show_asm_raw ? "" : "--no-show-raw",
+		 opts->annotate_src ? "-S" : "",
 		 symfs_filename, symfs_filename);
 
 	if (err < 0) {
diff --git a/tools/perf/util/annotate.h b/tools/perf/util/annotate.h
index 013d414b0e57..476ea2a25649 100644
--- a/tools/perf/util/annotate.h
+++ b/tools/perf/util/annotate.h
@@ -73,7 +73,9 @@ struct annotation_options {
 	     show_nr_jumps,
 	     show_nr_samples,
 	     show_total_period,
-	     show_minmax_cycle;
+	     show_minmax_cycle,
+	     show_asm_raw,
+	     annotate_src;
 	u8   offset_level;
 	int  min_pcnt;
 	int  max_lines;
diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
index 8c84437f2a10..3f632c60888f 100644
--- a/tools/perf/util/symbol.c
+++ b/tools/perf/util/symbol.c
@@ -40,7 +40,6 @@ char **vmlinux_path;
 struct symbol_conf symbol_conf = {
 	.use_modules		= true,
 	.try_vmlinux_path	= true,
-	.annotate_src		= true,
 	.demangle		= true,
 	.demangle_kernel	= false,
 	.cumulate_callchain	= true,
diff --git a/tools/perf/util/symbol.h b/tools/perf/util/symbol.h
index 1be9a6bad967..f25fae4b5743 100644
--- a/tools/perf/util/symbol.h
+++ b/tools/perf/util/symbol.h
@@ -108,8 +108,6 @@ struct symbol_conf {
 			show_cpu_utilization,
 			initialized,
 			kptr_restrict,
-			annotate_asm_raw,
-			annotate_src,
 			event_group,
 			demangle,
 			demangle_kernel,
-- 
2.14.3

  parent reply	other threads:[~2018-06-05 17:50 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-05 17:49 [GIT PULL 00/46] perf/core fixes and improvements Arnaldo Carvalho de Melo
2018-06-05 17:49 ` [PATCH 01/46] perf tools: Remove dead quote.[ch] code Arnaldo Carvalho de Melo
2018-06-05 17:49 ` [PATCH 02/46] perf probe: Use return of map__get() to make code more compact Arnaldo Carvalho de Melo
2018-06-05 17:49 ` [PATCH 03/46] perf cgroup: Make evlist__find_cgroup() " Arnaldo Carvalho de Melo
2018-06-05 17:49 ` [PATCH 04/46] perf tools: No need to check if the argument to __get() function is NULL Arnaldo Carvalho de Melo
2018-06-05 17:49 ` [PATCH 05/46] perf annotate: Pass perf_evsel instead of just evsel->idx Arnaldo Carvalho de Melo
2018-06-05 17:49 ` [PATCH 06/46] perf annotate: __symbol__acount_cycles doesn't need notes Arnaldo Carvalho de Melo
2018-06-05 17:49 ` [PATCH 07/46] perf annotate: Split allocation of annotated_source struct Arnaldo Carvalho de Melo
2018-06-05 17:49 ` [PATCH 08/46] perf annotate: Introduce constructor/destructor for annotated_source Arnaldo Carvalho de Melo
2018-06-05 17:49 ` [PATCH 09/46] perf annotate: Introduce annotated_source__alloc_histograms Arnaldo Carvalho de Melo
2018-06-05 17:49 ` [PATCH 10/46] perf annotate: __symbol__inc_addr_samples() needs just annotated_source Arnaldo Carvalho de Melo
2018-06-05 17:49 ` [PATCH 11/46] perf annotate: Introduce symbol__hists() Arnaldo Carvalho de Melo
2018-06-05 17:49 ` [PATCH 12/46] perf annotate: Introduce symbol__cycle_hists() Arnaldo Carvalho de Melo
2018-06-05 17:49 ` [PATCH 13/46] perf annotate: Stop using symbol_conf.nr_events global in symbol__hists() Arnaldo Carvalho de Melo
2018-06-05 17:49 ` [PATCH 14/46] perf annotate: Replace symbol__alloc_hists() with symbol__hists() Arnaldo Carvalho de Melo
2018-06-05 17:49 ` [PATCH 15/46] perf tools: Ditch the symbol_conf.nr_events global Arnaldo Carvalho de Melo
2018-06-05 17:50 ` [PATCH 16/46] perf annotate: Add comment about annotated_src->nr_histograms Arnaldo Carvalho de Melo
2018-06-05 17:50 ` [PATCH 17/46] perf annotate stdio: Use annotation_options consistently Arnaldo Carvalho de Melo
2018-06-05 17:50 ` [PATCH 18/46] perf srcline: Introduce map__srcline() to make code more compact Arnaldo Carvalho de Melo
2018-06-05 17:50 ` [PATCH 19/46] perf sort: Introduce addr_map_symbol__srcline() " Arnaldo Carvalho de Melo
2018-06-05 17:50 ` [PATCH 20/46] perf srcline: Make hist_entry srcline helper consistent with map's Arnaldo Carvalho de Melo
2018-06-05 17:50 ` [PATCH 21/46] perf annotate: Pass annotation_options to symbol__annotate() Arnaldo Carvalho de Melo
2018-06-05 17:50 ` Arnaldo Carvalho de Melo [this message]
2018-06-05 17:50 ` [PATCH 23/46] perf annotate: Move disassembler_style global to annotation_options Arnaldo Carvalho de Melo
2018-06-05 17:50 ` [PATCH 24/46] perf hists browser: Pass annotation_options from tool to browser Arnaldo Carvalho de Melo
2018-06-05 17:50 ` [PATCH 25/46] perf annotate: Move objdump_path to struct annotation_options Arnaldo Carvalho de Melo
2018-06-05 17:50 ` [PATCH 26/46] perf test: Use header file util/debug.h Arnaldo Carvalho de Melo
2018-06-05 17:50 ` [PATCH 27/46] perf report: No need to have report_callchain_help as a global Arnaldo Carvalho de Melo
2018-06-05 17:50 ` [PATCH 28/46] perf evsel: Add has_callchain() helper to make code more compact/clear Arnaldo Carvalho de Melo
2018-06-05 17:50 ` [PATCH 29/46] perf script: Check if evsel has callchains before trying to use it Arnaldo Carvalho de Melo
2018-06-05 17:50 ` [PATCH 30/46] perf sched: Use sched->show_callchain where appropriate Arnaldo Carvalho de Melo
2018-06-05 17:50 ` [PATCH 31/46] perf hists: Do not allocate space for callchains for evsels without them Arnaldo Carvalho de Melo
2018-06-05 17:50 ` [PATCH 32/46] perf hists: Introduce hist_entry__has_callchain() method Arnaldo Carvalho de Melo
2018-06-05 17:50 ` [PATCH 33/46] perf hists: Check if a hist_entry has callchains before using them Arnaldo Carvalho de Melo
2018-06-05 17:50 ` [PATCH 34/46] perf tests kmod-path: Add tests for vdso32 and vdsox32 Arnaldo Carvalho de Melo
2018-06-05 17:50 ` [PATCH 35/46] perf tools: Fix symbol and object code resolution " Arnaldo Carvalho de Melo
2018-06-05 17:50 ` [PATCH 36/46] perf record: Enable arbitrary event names thru name= modifier Arnaldo Carvalho de Melo
2018-06-05 17:50 ` [PATCH 37/46] perf stat: Display user and system time Arnaldo Carvalho de Melo
2018-06-05 17:50 ` [PATCH 38/46] perf tools: Fix pmu events parsing rule Arnaldo Carvalho de Melo
2018-06-05 17:50 ` [PATCH 39/46] perf test code-reading: Fix perf_env setup for PTI entry trampolines Arnaldo Carvalho de Melo
2018-06-05 17:50 ` [PATCH 40/46] perf map: Consider PTI entry trampolines in rip_2objdump() Arnaldo Carvalho de Melo
2018-06-05 17:50 ` [PATCH 41/46] perf test record+probe_libc_inet_pton: Ask 'nm' for dynamic symbols Arnaldo Carvalho de Melo
2018-06-05 17:50 ` [PATCH 42/46] perf script powerpc: Python script for hypervisor call statistics Arnaldo Carvalho de Melo
2018-06-06 14:53   ` Paul Clarke
2018-06-07  5:34     ` Ravi Bangoria
2018-06-07 13:41       ` Paul Clarke
2018-06-07 13:45         ` Arnaldo Carvalho de Melo
2018-06-05 17:50 ` [PATCH 43/46] perf intel-pt: Fix sync_switch INTEL_PT_SS_NOT_TRACING Arnaldo Carvalho de Melo
2018-06-05 17:50 ` [PATCH 44/46] perf intel-pt: Fix decoding to accept CBR between FUP and corresponding TIP Arnaldo Carvalho de Melo
2018-06-05 17:50 ` [PATCH 45/46] perf intel-pt: Fix MTC timing after overflow Arnaldo Carvalho de Melo
2018-06-05 17:50 ` [PATCH 46/46] perf intel-pt: Fix "Unexpected indirect branch" error Arnaldo Carvalho de Melo
2018-06-07  5:22 ` [GIT PULL 00/46] perf/core fixes and improvements Ingo Molnar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180605175030.32549-23-acme@kernel.org \
    --to=acme@kernel.org \
    --cc=acme@redhat.com \
    --cc=adrian.hunter@intel.com \
    --cc=dsahern@gmail.com \
    --cc=jolsa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    --cc=wangnan0@huawei.com \
    --cc=williams@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).