mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-25 09:00:54 +07:00
perf hists: Add missing update on filtered stats in hists__decay_entries()
When a filter is used for perf top, its hists->nr_non_filtered_entries was not updated after it removed an entry in hists__decay_entries(). Also hists->stats.total_non_filtered_period was missed too. Signed-off-by: Namhyung Kim <namhyung@kernel.org> Link: http://lkml.kernel.org/r/1398327843-31845-8-git-send-email-namhyung@kernel.org Signed-off-by: Jiri Olsa <jolsa@kernel.org>
This commit is contained in:
parent
820bc81f4c
commit
3186b6815d
@ -225,14 +225,18 @@ static void he_stat__decay(struct he_stat *he_stat)
|
||||
static bool hists__decay_entry(struct hists *hists, struct hist_entry *he)
|
||||
{
|
||||
u64 prev_period = he->stat.period;
|
||||
u64 diff;
|
||||
|
||||
if (prev_period == 0)
|
||||
return true;
|
||||
|
||||
he_stat__decay(&he->stat);
|
||||
|
||||
diff = prev_period - he->stat.period;
|
||||
|
||||
hists->stats.total_period -= diff;
|
||||
if (!he->filtered)
|
||||
hists->stats.total_period -= prev_period - he->stat.period;
|
||||
hists->stats.total_non_filtered_period -= diff;
|
||||
|
||||
return he->stat.period == 0;
|
||||
}
|
||||
@ -259,8 +263,11 @@ void hists__decay_entries(struct hists *hists, bool zap_user, bool zap_kernel)
|
||||
if (sort__need_collapse)
|
||||
rb_erase(&n->rb_node_in, &hists->entries_collapsed);
|
||||
|
||||
hist_entry__free(n);
|
||||
--hists->nr_entries;
|
||||
if (!n->filtered)
|
||||
--hists->nr_non_filtered_entries;
|
||||
|
||||
hist_entry__free(n);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user