On Wed, Feb 10, 2016 at 01:23:45PM +0100, Jiri Olsa wrote:
> On Fri, Feb 05, 2016 at 10:01:46PM +0900, Namhyung Kim wrote:
> 
> SNIP
> 
> >  
> > -   for (nd = rb_first(&hists->entries); nd; nd = rb_next(nd)) {
> > +   for (nd = rb_first(&hists->entries); nd; nd = rb_hierarchy_next(nd)) {
> >             struct hist_entry *h = rb_entry(nd, struct hist_entry, rb_node);
> >             float percent;
> >  
> > @@ -542,6 +614,9 @@ print_entries:
> >                                                MAP__FUNCTION, fp);
> >                     fprintf(fp, "%.10s end\n", graph_dotted_line);
> >             }
> > +
> > +           if (symbol_conf.report_hierarchy)
> > +                   h->unfolded = true;
> 
> what's this for?
> 

ah it's stdio, we need to show everything.. ok ;-)

I was thinking of putting this 'force un/fold' logic into the
rb_hierarchy_next interface, because it's also not nice in
hists__filter_hierarchy function..

maybe having extra argument telling the walk preference
would be easier to read, like:

  rb_hierarchy_next(&h->rb_node, FORCE_UNFOLD);
  rb_hierarchy_next(&h->rb_node, FORCE_FOLD);
  rb_hierarchy_next(&h->rb_node, DEFAULT);

with some better names of course

just an idea.. it might turn horrible as well ;-)

thanks,
jirka

Reply via email to