mirror of
https://github.com/torvalds/linux.git
synced 2024-11-28 23:21:31 +00:00
perf hists: Update hists' total period when adding entries
Currently the hist entry addition path doesn't update total_period of hists and it's calculated during 'resort' path. But the resort path needs to know the total period before doing its job because it's used for calculating percent limit of callchains in hist entries. So this patch update the total period during the addition path. It makes the percent limit of callchains working (again). 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-3-git-send-email-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
744070e0e4
commit
0f58474ec8
@ -432,8 +432,12 @@ static struct hist_entry *hists__findnew_entry(struct hists *hists,
|
||||
cmp = hist_entry__cmp(he, entry);
|
||||
|
||||
if (!cmp) {
|
||||
if (sample_self)
|
||||
if (sample_self) {
|
||||
he_stat__add_period(&he->stat, period, weight);
|
||||
hists->stats.total_period += period;
|
||||
if (!he->filtered)
|
||||
hists->stats.total_non_filtered_period += period;
|
||||
}
|
||||
if (symbol_conf.cumulate_callchain)
|
||||
he_stat__add_period(he->stat_acc, period, weight);
|
||||
|
||||
@ -466,7 +470,10 @@ static struct hist_entry *hists__findnew_entry(struct hists *hists,
|
||||
if (!he)
|
||||
return NULL;
|
||||
|
||||
hists->nr_entries++;
|
||||
if (sample_self)
|
||||
hists__inc_stats(hists, he);
|
||||
else
|
||||
hists->nr_entries++;
|
||||
|
||||
rb_link_node(&he->rb_node_in, parent, p);
|
||||
rb_insert_color(&he->rb_node_in, hists->entries_in);
|
||||
|
Loading…
Reference in New Issue
Block a user