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

From: Jiri Olsa
Date: Sat Mar 05 2016 - 13:17:34 EST


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?

jirka