mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-11 21:36:45 +07:00
perf hists: Fix min callchain hits calculation
The total period should be get using hists__total_period() since it takes filtered entries into account. In addition, if callchain mode is 'fractal', the total period should be the entry's period. Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Andi Kleen <andi@firstfloor.org> Cc: David Ahern <dsahern@gmail.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Wang Nan <wangnan0@huawei.com> Link: http://lkml.kernel.org/r/1453909257-26015-2-git-send-email-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
814568db64
commit
744070e0e4
@ -1163,9 +1163,18 @@ static void __hists__insert_output_entry(struct rb_root *entries,
|
||||
struct rb_node *parent = NULL;
|
||||
struct hist_entry *iter;
|
||||
|
||||
if (use_callchain)
|
||||
if (use_callchain) {
|
||||
if (callchain_param.mode == CHAIN_GRAPH_REL) {
|
||||
u64 total = he->stat.period;
|
||||
|
||||
if (symbol_conf.cumulate_callchain)
|
||||
total = he->stat_acc->period;
|
||||
|
||||
min_callchain_hits = total * (callchain_param.min_percent / 100);
|
||||
}
|
||||
callchain_param.sort(&he->sorted_chain, he->callchain,
|
||||
min_callchain_hits, &callchain_param);
|
||||
}
|
||||
|
||||
while (*p != NULL) {
|
||||
parent = *p;
|
||||
@ -1195,7 +1204,7 @@ void hists__output_resort(struct hists *hists, struct ui_progress *prog)
|
||||
else
|
||||
use_callchain = symbol_conf.use_callchain;
|
||||
|
||||
min_callchain_hits = hists->stats.total_period * (callchain_param.min_percent / 100);
|
||||
min_callchain_hits = hists__total_period(hists) * (callchain_param.min_percent / 100);
|
||||
|
||||
if (sort__need_collapse)
|
||||
root = &hists->entries_collapsed;
|
||||
|
Loading…
Reference in New Issue
Block a user