[<prev] [next>] [day] [month] [year] [list]
Message-Id: <1260983878-3430-1-git-send-email-acme@infradead.org>
Date: Wed, 16 Dec 2009 15:17:58 -0200
From: Arnaldo Carvalho de Melo <acme@...radead.org>
To: Ingo Molnar <mingo@...e.hu>
Cc: linux-kernel@...r.kernel.org,
Arnaldo Carvalho de Melo <acme@...hat.com>,
Frédéric Weisbecker <fweisbec@...il.com>,
Mike Galbraith <efault@....de>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Paul Mackerras <paulus@...ba.org>
Subject: [PATCH 1/1] perf diff: Use fabs instead of, ugh, casting to u64
From: Arnaldo Carvalho de Melo <acme@...hat.com>
To check which deltas should be printed. Things looks more believable now, I
guess:
$ perf report -i perf.data.old --sort dso,symbol | head -13
9.02% libc-2.10.1.so [.] _IO_vfprintf_internal
4.88% find [.] 0x00000000014af0
2.91% [kernel] [k] __kmalloc
2.85% [kernel] [k] ext4_htree_store_dirent
2.50% libc-2.10.1.so [.] __GI_memmove
2.44% [kernel] [k] half_md4_transform
2.43% [kernel] [k] _spin_lock
2.33% [kernel] [k] system_call
$ perf report -i perf.data --sort dso,symbol | head -13
8.55% libc-2.10.1.so [.] _IO_vfprintf_internal
3.11% [kernel] [k] __kmalloc
3.07% [kernel] [k] ext4_htree_store_dirent
2.66% find [.] 0x00000000016bcf
2.61% [kernel] [k] _atomic_dec_and_lock
2.46% [kernel] [k] half_md4_transform
2.41% libc-2.10.1.so [.] __GI_memmove
2.30% find [.] 0x00000000009219
$ perf diff | head -13
9.02% -0.47% libc-2.10.1.so [.] _IO_vfprintf_internal
2.91% +0.20% [kernel] [k] __kmalloc
2.85% +0.23% [kernel] [k] ext4_htree_store_dirent
1.99% +0.62% [kernel] [k] _atomic_dec_and_lock
2.44% +0.02% [kernel] [k] half_md4_transform
2.50% -0.09% libc-2.10.1.so [.] __GI_memmove
1.88% +0.01% [kernel] [k] __d_lookup
2.43% -0.75% [kernel] [k] _spin_lock
0.97% +0.62% [kernel] [k] path_get
1.99% -0.42% libc-2.10.1.so [.] _int_malloc
$
Cc: Frédéric Weisbecker <fweisbec@...il.com>
Cc: Mike Galbraith <efault@....de>
Cc: Peter Zijlstra <a.p.zijlstra@...llo.nl>
Cc: Paul Mackerras <paulus@...ba.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@...hat.com>
---
tools/perf/util/hist.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c
index 1bf8658..e8daf5c 100644
--- a/tools/perf/util/hist.c
+++ b/tools/perf/util/hist.c
@@ -1,6 +1,7 @@
#include "hist.h"
#include "session.h"
#include "sort.h"
+#include <math.h>
struct callchain_param callchain_param = {
.mode = CHAIN_GRAPH_REL,
@@ -498,9 +499,9 @@ static size_t hist_entry__fprintf(struct hist_entry *self,
if (session->events_stats.total > 0)
new_percent = (self->count * 100.0) / session->events_stats.total;
- diff = old_percent - new_percent;
+ diff = new_percent - old_percent;
- if ((u64)diff != 0)
+ if (fabs(diff) >= 0.01)
snprintf(bf, sizeof(bf), "%+4.2F%%", diff);
else
snprintf(bf, sizeof(bf), " ");
--
1.6.2.5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists