perf annotate: Adopt anotation options from symbol_conf
authorArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 28 May 2018 14:42:59 +0000 (11:42 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 4 Jun 2018 13:28:53 +0000 (10:28 -0300)
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
tools/perf/builtin-report.c
tools/perf/builtin-top.c
tools/perf/util/annotate.c
tools/perf/util/annotate.h
tools/perf/util/symbol.c
tools/perf/util/symbol.h

index 7238010f28d42144d4f4c3f32df47f355f31e5f8..2ca7172f0780f499ff8020efd8c86009dcc07372 100644 (file)
@@ -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)"),
index 7a689c933f0476dc27c37f3898d7c0b992c0f6d4..bee6dbfbf11e1e34da964e92c014f1bf86e07079 100644 (file)
@@ -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)"),
index 2c14ca61c657c1db9cc4086e74bdea38bf1d6c80..e65e72c06a01791a5bf990d191615520f5f86801 100644 (file)
@@ -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"),
index 502f9d124a44ea38bca6dd88576090d2d188ea1d..ff8f4f474b221c83a466759892d82db828a74ff5 100644 (file)
@@ -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 @@ fallback:
 
 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) {
index 013d414b0e5778a09b7f0c95d3dc509e81d400aa..476ea2a25649d0425abe663208c2cb7728383fa9 100644 (file)
@@ -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;
index 8c84437f2a100d7812074f40ccc34bcb0dfb8f13..3f632c60888f5c817f9115de421fca8f3330bdd0 100644 (file)
@@ -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,
index 1be9a6bad967253893892fb95bd2a335e0cb2df1..f25fae4b5743c76bdc50f515110a0fa448fe7fcc 100644 (file)
@@ -108,8 +108,6 @@ struct symbol_conf {
                        show_cpu_utilization,
                        initialized,
                        kptr_restrict,
-                       annotate_asm_raw,
-                       annotate_src,
                        event_group,
                        demangle,
                        demangle_kernel,