From 861cae32d8c81d37a41a229d4842b51c7732fcbd Mon Sep 17 00:00:00 2001 From: Anton Blanchard Date: Wed, 31 Aug 2011 11:51:45 +1000 Subject: [PATCH] --- yaml --- r: 264097 b: refs/heads/master c: 6bb8f311a870d6042e0310309eb3d607ae52fe3e h: refs/heads/master i: 264095: 06b85ca6e04bd12e3d2ddc8ca65a92e1beb14792 v: v3 --- [refs] | 2 +- trunk/tools/perf/util/sort.c | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 635afa481fff..e8e70a3dd26b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6a0e55d85babfccfd976703852ec8bab388b3a10 +refs/heads/master: 6bb8f311a870d6042e0310309eb3d607ae52fe3e diff --git a/trunk/tools/perf/util/sort.c b/trunk/tools/perf/util/sort.c index 401e220566fd..1ee8f1e40f18 100644 --- a/trunk/tools/perf/util/sort.c +++ b/trunk/tools/perf/util/sort.c @@ -151,11 +151,17 @@ sort__sym_cmp(struct hist_entry *left, struct hist_entry *right) { u64 ip_l, ip_r; + if (!left->ms.sym && !right->ms.sym) + return right->level - left->level; + + if (!left->ms.sym || !right->ms.sym) + return cmp_null(left->ms.sym, right->ms.sym); + if (left->ms.sym == right->ms.sym) return 0; - ip_l = left->ms.sym ? left->ms.sym->start : left->ip; - ip_r = right->ms.sym ? right->ms.sym->start : right->ip; + ip_l = left->ms.sym->start; + ip_r = right->ms.sym->start; return (int64_t)(ip_r - ip_l); }