]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
perf annotate: Move ipc/cycles into annotation_line struct
authorJiri Olsa <jolsa@kernel.org>
Wed, 11 Oct 2017 15:01:27 +0000 (17:01 +0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 13 Nov 2017 12:39:58 +0000 (09:39 -0300)
Move ipc/cycles into annotation_line struct to be used as generic
members for any annotation source.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20171011150158.11895-5-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/ui/browsers/annotate.c
tools/perf/util/annotate.h

index 73d921c3e3ecc7b481245acd9634d0400c0471dc..d1aff2f7cb6c8338bae84e741a60840ab593d47c 100644 (file)
@@ -144,7 +144,7 @@ static void annotate_browser__write(struct ui_browser *browser, void *entry, int
 
        if ((row == 0) && (dl->al.offset == -1 || percent_max == 0.0)) {
                if (ab->have_cycles) {
-                       if (dl->ipc == 0.0 && dl->cycles == 0)
+                       if (dl->al.ipc == 0.0 && dl->al.cycles == 0)
                                show_title = true;
                } else
                        show_title = true;
@@ -178,16 +178,16 @@ static void annotate_browser__write(struct ui_browser *browser, void *entry, int
                }
        }
        if (ab->have_cycles) {
-               if (dl->ipc)
-                       ui_browser__printf(browser, "%*.2f ", IPC_WIDTH - 1, dl->ipc);
+               if (dl->al.ipc)
+                       ui_browser__printf(browser, "%*.2f ", IPC_WIDTH - 1, dl->al.ipc);
                else if (!show_title)
                        ui_browser__write_nstring(browser, " ", IPC_WIDTH);
                else
                        ui_browser__printf(browser, "%*s ", IPC_WIDTH - 1, "IPC");
 
-               if (dl->cycles)
+               if (dl->al.cycles)
                        ui_browser__printf(browser, "%*" PRIu64 " ",
-                                          CYCLES_WIDTH - 1, dl->cycles);
+                                          CYCLES_WIDTH - 1, dl->al.cycles);
                else if (!show_title)
                        ui_browser__write_nstring(browser, " ", CYCLES_WIDTH);
                else
@@ -474,7 +474,7 @@ static void annotate_browser__calc_percent(struct annotate_browser *browser,
                                max_percent = bpos->samples[i].percent;
                }
 
-               if (max_percent < 0.01 && pos->ipc == 0) {
+               if (max_percent < 0.01 && pos->al.ipc == 0) {
                        RB_CLEAR_NODE(&bpos->rb_node);
                        continue;
                }
@@ -994,7 +994,7 @@ static void count_and_fill(struct annotate_browser *browser, u64 start, u64 end,
                        struct disasm_line *dl = browser->offsets[offset];
 
                        if (dl)
-                               dl->ipc = ipc;
+                               dl->al.ipc = ipc;
                }
        }
 }
@@ -1025,7 +1025,7 @@ static void annotate__compute_ipc(struct annotate_browser *browser, size_t size,
                                count_and_fill(browser, ch->start, offset, ch);
                        dl = browser->offsets[offset];
                        if (dl && ch->num_aggr)
-                               dl->cycles = ch->cycles_aggr / ch->num_aggr;
+                               dl->al.cycles = ch->cycles_aggr / ch->num_aggr;
                        browser->have_cycles = true;
                }
        }
index b7ca628557601e9d2b1e45f572f7773da354df99..a822c0a4987ece1fcb14e8d9c500a9651da2cdc8 100644 (file)
@@ -64,13 +64,13 @@ struct annotation_line {
        s64                      offset;
        char                    *line;
        int                      line_nr;
+       float                    ipc;
+       u64                      cycles;
 };
 
 struct disasm_line {
        struct annotation_line   al;
        struct ins               ins;
-       float                    ipc;
-       u64                      cycles;
        struct ins_operands      ops;
 };