Re: [PATCH 02/17] perf hists: Resort hist entries with hierarchy

From: Namhyung Kim
Date: Thu Jan 21 2016 - 08:04:40 EST


On Thu, Jan 21, 2016 at 12:41:49PM +0100, Jiri Olsa wrote:
> On Sun, Jan 17, 2016 at 01:03:02AM +0900, Namhyung Kim wrote:
>
> SNIP
>
> > + min_callchain_hits,
> > + &callchain_param);
> > + }
> > +}
> > +
> > static void __hists__insert_output_entry(struct rb_root *entries,
> > struct hist_entry *he,
> > u64 min_callchain_hits,
> > @@ -1288,6 +1356,17 @@ void hists__output_resort(struct hists *hists, struct ui_progress *prog)
> >
> > min_callchain_hits = hists->stats.total_period * (callchain_param.min_percent / 100);
> >
> > + hists__reset_stats(hists);
> > + hists__reset_col_len(hists);
> > +
> > + if (symbol_conf.report_hierarchy) {
> > + return hists__hierarchy_output_resort(hists, prog,
> > + &hists->entries_collapsed,
>
> is the 'in-root' always hists->entries_collapsed in here?
>
> should you use the 'root' var from the condition below?

The symbol_conf.report_hierarchy imples sort__need_collapse since it
needs to build the hierarchy during 'collapse' stage. So yes, it's
always hists->entries_collapsed.

Thanks,
Namhyung


>
> > + &hists->entries,
> > + min_callchain_hits,
> > + use_callchain);
> > + }
> > +
> > if (sort__need_collapse)
> > root = &hists->entries_collapsed;
> > else
> > @@ -1296,9 +1375,6 @@ void hists__output_resort(struct hists *hists, struct ui_progress *prog)
> > next = rb_first(root);
> > hists->entries = RB_ROOT;
> >
> > - hists__reset_stats(hists);
> > - hists__reset_col_len(hists);
> > -
> > while (next) {
> > n = rb_entry(next, struct hist_entry, rb_node_in);
> > next = rb_next(&n->rb_node_in);
> > --
> > 2.6.4
> >