Messages in this thread | | | Date | Wed, 11 Dec 2019 12:38:15 +0100 | From | Jiri Olsa <> | Subject | Re: [PATCH v2 1/3] perf report: Change sort order by a specified event in group |
| |
On Wed, Dec 11, 2019 at 03:30:34PM +0800, Jin Yao wrote:
SNIP
> + > +static int __hpp__group_sort_idx(struct hist_entry *a, struct hist_entry *b, > + hpp_field_fn get_field, int idx) > +{ > + struct evsel *evsel = hists_to_evsel(a->hists); > + u64 *fields_a, *fields_b; > + int cmp, nr_members, ret, i; > + > + cmp = field_cmp(get_field(a), get_field(b)); > + if (!perf_evsel__is_group_event(evsel)) > + return cmp; > + > + nr_members = evsel->core.nr_members; > + ret = pair_fields_alloc(a, b, get_field, nr_members, > + &fields_a, &fields_b); > + if (ret) { > + ret = cmp; > + goto out; > + } > + > + for (i = 1; i < nr_members; i++) { > + if (i == idx) { > + ret = field_cmp(fields_a[i], fields_b[i]); > + if (ret) > + goto out; > + } > + } > + > + if (cmp) { > + ret = cmp; > + goto out; > + } > + > + for (i = 1; i < nr_members; i++) { > + if (i != idx) { > + ret = field_cmp(fields_a[i], fields_b[i]); > + if (ret) > + goto out; > + }
hi, I'm missing why we compare the fields for 2nd time in here
thanks, jirka
| |