Re: [PATCH 2/5] perf hists: Exchange order of comparing items whencollapsing hists

From: Arnaldo Carvalho de Melo
Date: Thu Dec 06 2012 - 14:09:19 EST


Em Thu, Dec 06, 2012 at 05:53:25PM +0100, Jiri Olsa escreveu:
> On Fri, Dec 07, 2012 at 12:09:38AM +0900, Namhyung Kim wrote:
> > From: Namhyung Kim <namhyung.kim@xxxxxxx>
> >
> > When comparing entries for collapsing put the given entry first, and
> > then the iterated entry. This is not the case of hist_entry__cmp()
> > when called if given sort keys don't require collapsing. So change
> > the order for the sake of consistency. It will be required for
> > matching and/or linking multiple hist entries.
>
> As discussed with Arnadlo, this change seems like changing the
> sort order... could you ellaborate how it is usefull in future?

In several places the order is (he, iter) then it became (iter, he),
something like that, so he inverted it for consistency, but then he
needs to invert in the cmp function too, unsure if this is worth the
trouble now, perhaps some comment placed in the right spot clarifies
things,

- Arnaldo

> thanks,
> jirka
>
> >
> > Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
> > Cc: Stephane Eranian <eranian@xxxxxxxxxx>
> > Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
> > ---
> > tools/perf/util/hist.c | 6 +++---
> > 1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c
> > index 82df1b26f0d4..d4471c21ed17 100644
> > --- a/tools/perf/util/hist.c
> > +++ b/tools/perf/util/hist.c
> > @@ -285,7 +285,7 @@ static struct hist_entry *add_hist_entry(struct hists *hists,
> > parent = *p;
> > he = rb_entry(parent, struct hist_entry, rb_node_in);
> >
> > - cmp = hist_entry__cmp(entry, he);
> > + cmp = hist_entry__cmp(he, entry);
> >
> > if (!cmp) {
> > he_stat__add_period(&he->stat, period);
> > @@ -729,7 +729,7 @@ static struct hist_entry *hists__add_dummy_entry(struct hists *hists,
> > parent = *p;
> > he = rb_entry(parent, struct hist_entry, rb_node);
> >
> > - cmp = hist_entry__cmp(pair, he);
> > + cmp = hist_entry__cmp(he, pair);
> >
> > if (!cmp)
> > goto out;
> > @@ -759,7 +759,7 @@ static struct hist_entry *hists__find_entry(struct hists *hists,
> >
> > while (n) {
> > struct hist_entry *iter = rb_entry(n, struct hist_entry, rb_node);
> > - int64_t cmp = hist_entry__cmp(he, iter);
> > + int64_t cmp = hist_entry__cmp(iter, he);
> >
> > if (cmp < 0)
> > n = n->rb_left;
> > --
> > 1.7.9.2
> >
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/