Re: [PATCH 14/23] perf ui/stdio: Implement hierarchy output mode

From: Namhyung Kim
Date: Wed Feb 10 2016 - 09:28:56 EST


On Wed, Feb 10, 2016 at 01:29:31PM +0100, Jiri Olsa wrote:
> 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 ;-)

Right. :)

>
> 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 ;-)

Seems like a good idea. I'll think about it in the next spin.

Thanks,
Namhyung