|
@@ -285,7 +285,13 @@ 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);
|
|
|
+ /*
|
|
|
+ * Make sure that it receives arguments in a same order as
|
|
|
+ * hist_entry__collapse() so that we can use an appropriate
|
|
|
+ * function when searching an entry regardless which sort
|
|
|
+ * keys were used.
|
|
|
+ */
|
|
|
+ cmp = hist_entry__cmp(he, entry);
|
|
|
|
|
|
if (!cmp) {
|
|
|
he_stat__add_period(&he->stat, period);
|
|
@@ -729,7 +735,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 +765,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;
|