mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
perf hists: Fix recalculation of total_period when sorting entries
We were doing parts of it in hists__collapse_resort and parts of it in hists__output_resort, leading to a bogus total_period. Fix it by doing just the filtering operation when collapsing because there we know that the Zoom operations adds filters just what is in hists->entries, not to the new batch of entries being collapsed. And move all the nr_entries + total_period recalculation to hists__output_resort since we will traverse all entries anyway there. Problem introduced when developing threaded addition of new batches of hist_entries, i.e. post v3.1. Reported-by: Frederic Weisbecker <[email protected]> Cc: David Ahern <[email protected]> Cc: Frederic Weisbecker <[email protected]> Cc: Mike Galbraith <[email protected]> Cc: Paul Mackerras <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Stephane Eranian <[email protected]> Link: http://lkml.kernel.org/n/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
This commit is contained in:
parent
a9072bc0b0
commit
7928631a66
1 changed files with 1 additions and 2 deletions
|
|
@ -365,7 +365,6 @@ static void __hists__collapse_resort(struct hists *hists, bool threaded)
|
|||
|
||||
root = hists__get_rotate_entries_in(hists);
|
||||
next = rb_first(root);
|
||||
hists->stats.total_period = 0;
|
||||
|
||||
while (next) {
|
||||
n = rb_entry(next, struct hist_entry, rb_node_in);
|
||||
|
|
@ -379,7 +378,6 @@ static void __hists__collapse_resort(struct hists *hists, bool threaded)
|
|||
* been set by, say, the hist_browser.
|
||||
*/
|
||||
hists__apply_filters(hists, n);
|
||||
hists__inc_nr_entries(hists, n);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -442,6 +440,7 @@ static void __hists__output_resort(struct hists *hists, bool threaded)
|
|||
hists->entries = RB_ROOT;
|
||||
|
||||
hists->nr_entries = 0;
|
||||
hists->stats.total_period = 0;
|
||||
hists__reset_col_len(hists);
|
||||
|
||||
while (next) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue