]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - tools/perf/ui/browsers/hists.c
perf report: Sort by sampled cycles percent per block for tui
[linux.git] / tools / perf / ui / browsers / hists.c
index 589168ca9f62ca7a6dea8fb213a8d857e401c3f5..334afc2139e73d65121b171e24edae1763df713e 100644 (file)
@@ -26,6 +26,7 @@
 #include "../../util/sort.h"
 #include "../../util/top.h"
 #include "../../util/thread.h"
+#include "../../util/block-info.h"
 #include "../../arch/common.h"
 #include "../../perf.h"
 
@@ -1783,7 +1784,11 @@ static unsigned int hist_browser__refresh(struct ui_browser *browser)
                        continue;
                }
 
-               percent = hist_entry__get_percent_limit(h);
+               if (symbol_conf.report_individual_block)
+                       percent = block_info__total_cycles_percent(h);
+               else
+                       percent = hist_entry__get_percent_limit(h);
+
                if (percent < hb->min_pcnt)
                        continue;
 
@@ -3319,13 +3324,13 @@ static int perf_evsel_menu__run(struct evsel_menu *menu,
                        switch (key) {
                        case K_TAB:
                                if (pos->core.node.next == &evlist->core.entries)
-                                       pos = perf_evlist__first(evlist);
+                                       pos = evlist__first(evlist);
                                else
                                        pos = perf_evsel__next(pos);
                                goto browse_hists;
                        case K_UNTAB:
                                if (pos->core.node.prev == &evlist->core.entries)
-                                       pos = perf_evlist__last(evlist);
+                                       pos = evlist__last(evlist);
                                else
                                        pos = perf_evsel__prev(pos);
                                goto browse_hists;
@@ -3417,7 +3422,7 @@ int perf_evlist__tui_browse_hists(struct evlist *evlist, const char *help,
 
 single_entry:
        if (nr_entries == 1) {
-               struct evsel *first = perf_evlist__first(evlist);
+               struct evsel *first = evlist__first(evlist);
 
                return perf_evsel__hists_browse(first, nr_entries, help,
                                                false, hbt, min_pcnt,