diff options
author | Jin Yao <yao.jin@linux.intel.com> | 2020-10-09 10:28:44 +0800 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2020-10-14 13:34:26 -0300 |
commit | 5bbd6bad3b058bb28f41b97bf67a3cc3e52d09e6 (patch) | |
tree | 5764bad14f93726a3792fa905198d6a8b837726f /tools/perf/util/callchain.c | |
parent | 28904f4dcea1444adea4b51ba0af32d6c7314101 (diff) | |
download | linux-5bbd6bad3b058bb28f41b97bf67a3cc3e52d09e6.tar.gz linux-5bbd6bad3b058bb28f41b97bf67a3cc3e52d09e6.tar.bz2 linux-5bbd6bad3b058bb28f41b97bf67a3cc3e52d09e6.zip |
perf streams: Report hot streams
We show the streams separately. They are divided into different sections.
1. "Matched hot streams"
2. "Hot streams in old perf data only"
3. "Hot streams in new perf data only".
For each stream, we report the cycles and hot percent (hits%).
For example,
cycles: 2, hits: 4.08%
--------------------------
main div.c:42
compute_flag div.c:28
Signed-off-by: Jin Yao <yao.jin@linux.intel.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Link: https://lore.kernel.org/r/20201009022845.13141-7-yao.jin@linux.intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/callchain.c')
-rw-r--r-- | tools/perf/util/callchain.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/tools/perf/util/callchain.c b/tools/perf/util/callchain.c index 4f824bfcc072..1b60985690bb 100644 --- a/tools/perf/util/callchain.c +++ b/tools/perf/util/callchain.c @@ -1699,3 +1699,16 @@ u64 callchain_total_hits(struct hists *hists) return chain_hits; } + +s64 callchain_avg_cycles(struct callchain_node *cnode) +{ + struct callchain_list *chain; + s64 cycles = 0; + + list_for_each_entry(chain, &cnode->val, list) { + if (chain->srcline && chain->branch_count) + cycles += chain->cycles_count / chain->branch_count; + } + + return cycles; +} |