[PATCH 1/3] perf hists: Exchange order of comparing items when collapsing hists
From: Namhyung Kim 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. Cc: Jiri Olsa Cc: Stephane Eranian Signed-off-by: Namhyung Kim --- 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.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/3] perf hists: Exchange order of comparing items when collapsing hists
On Tue, 4 Dec 2012 10:44:05 -0300, Arnaldo Carvalho de Melo wrote: > Em Tue, Dec 04, 2012 at 01:44:23PM +0900, Namhyung Kim escreveu: >> From: Namhyung Kim >> >> 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. >> >> Cc: Jiri Olsa >> Cc: Stephane Eranian >> Signed-off-by: Namhyung Kim >> --- >> tools/perf/util/hist.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c >> index 82df1b26f0d4..161c35e7ed0e 100644 >> --- a/tools/perf/util/hist.c >> +++ b/tools/perf/util/hist.c >> @@ -433,7 +433,7 @@ static bool hists__collapse_insert_entry(struct hists >> *hists __maybe_unused, >> parent = *p; >> iter = rb_entry(parent, struct hist_entry, rb_node_in); >> >> -cmp = hist_entry__collapse(iter, he); >> +cmp = hist_entry__collapse(he, iter); >> >> if (!cmp) { >> he_stat__add_stat(&iter->stat, &he->stat); > > What about this he_stat__add_stat call? Now the hist_entry__collapse > receives (he, iter) while this right next function call receives (iter, > he). Hmm.. I thought they're diffent kind of operation. hist_entry__collapse is in a process of iteration and he_stat__add_stat is not. It's just adding or copying entry's stat, so I thought it's something like memcpy - hence the order. If you really concern about ordering between them, maybe I can change hist_entry__cmp() to receive (iter, he). Thanks, Namhyung -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/3] perf hists: Exchange order of comparing items when collapsing hists
Em Tue, Dec 04, 2012 at 01:44:23PM +0900, Namhyung Kim escreveu: > From: Namhyung Kim > > 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. > > Cc: Jiri Olsa > Cc: Stephane Eranian > Signed-off-by: Namhyung Kim > --- > tools/perf/util/hist.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c > index 82df1b26f0d4..161c35e7ed0e 100644 > --- a/tools/perf/util/hist.c > +++ b/tools/perf/util/hist.c > @@ -433,7 +433,7 @@ static bool hists__collapse_insert_entry(struct hists > *hists __maybe_unused, > parent = *p; > iter = rb_entry(parent, struct hist_entry, rb_node_in); > > - cmp = hist_entry__collapse(iter, he); > + cmp = hist_entry__collapse(he, iter); > > if (!cmp) { > he_stat__add_stat(&iter->stat, &he->stat); What about this he_stat__add_stat call? Now the hist_entry__collapse receives (he, iter) while this right next function call receives (iter, he). - Arnaldo > -- > 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 1/3] perf hists: Exchange order of comparing items when collapsing hists
From: Namhyung Kim 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. Cc: Jiri Olsa Cc: Stephane Eranian Signed-off-by: Namhyung Kim --- tools/perf/util/hist.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c index 82df1b26f0d4..161c35e7ed0e 100644 --- a/tools/perf/util/hist.c +++ b/tools/perf/util/hist.c @@ -433,7 +433,7 @@ static bool hists__collapse_insert_entry(struct hists *hists __maybe_unused, parent = *p; iter = rb_entry(parent, struct hist_entry, rb_node_in); - cmp = hist_entry__collapse(iter, he); + cmp = hist_entry__collapse(he, iter); if (!cmp) { he_stat__add_stat(&iter->stat, &he->stat); -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/