Re: [PATCH v2 3/8] perf tools: Use own hpp_list for hierarchy mode

From: Namhyung Kim
Date: Mon Mar 07 2016 - 07:43:36 EST


Hi Jiri,

On Sat, Mar 05, 2016 at 07:17:22PM +0100, Jiri Olsa wrote:
> On Fri, Mar 04, 2016 at 11:59:37PM +0900, Namhyung Kim wrote:
>
> SNIP
>
> > @@ -1150,20 +1159,29 @@ static int hists__hierarchy_insert_entry(struct hists *hists,
> > struct hist_entry *he)
> > {
> > struct perf_hpp_fmt *fmt;
> > + struct perf_hpp_list_node *node;
> > struct hist_entry *new_he = NULL;
> > struct hist_entry *parent = NULL;
> > int depth = 0;
> > int ret = 0;
> >
> > - hists__for_each_sort_list(hists, fmt) {
> > - if (!perf_hpp__is_sort_entry(fmt) &&
> > - !perf_hpp__is_dynamic_entry(fmt))
> > - continue;
> > - if (perf_hpp__should_skip(fmt, hists))
> > + list_for_each_entry(node, &hists->hpp_formats, list) {
> > + bool skip = false;
> > +
> > + perf_hpp_list__for_each_sort_list(&node->hpp, fmt) {
> > + if (!perf_hpp__is_sort_entry(fmt) &&
> > + !perf_hpp__is_dynamic_entry(fmt))
> > + skip = true;
> > + if (perf_hpp__should_skip(fmt, hists))
> > + skip = true;
> > + if (skip)
> > + break;
>
> could we add skip bool into node and initialize it gradually in add_hierarchy_fmt?

Right.

We can simply skip the node if all fmts it contains should be skipped.

Thanks,
Namhyung