aboutsummaryrefslogtreecommitdiff
path: root/tools/perf
diff options
context:
space:
mode:
authorAnton Blanchard <anton@samba.org>2009-07-01 09:00:47 +1000
committerIngo Molnar <mingo@elte.hu>2009-07-01 01:25:19 +0200
commit3a3393ef75a14ae259a82f3f38624efa17884168 (patch)
tree1d4cd1f95a1211fb99063a6342e7ef088cb2aef8 /tools/perf
parent2ab52083ffc057014e502cf3473adc41436922fa (diff)
perf top: Add ppc64 specific skip symbols and strip ppc64 . prefix
Filter out some ppc64 specific idle loop functions and remove leading '.' on ppc64 text symbols. Signed-off-by: Anton Blanchard <anton@samba.org> Cc: a.p.zijlstra@chello.nl Cc: paulus@samba.org LKML-Reference: <20090630230140.995643441@samba.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'tools/perf')
-rw-r--r--tools/perf/builtin-top.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index 731ec6d79c1..0506cd6e04c 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -293,6 +293,8 @@ char *skip_symbols[] = {
"enter_idle",
"exit_idle",
"mwait_idle",
+ "ppc64_runlatch_off",
+ "pseries_dedicated_idle_sleep",
NULL
};
@@ -303,6 +305,13 @@ static int symbol_filter(struct dso *self, struct symbol *sym)
const char *name = sym->name;
int i;
+ /*
+ * ppc64 uses function descriptors and appends a '.' to the
+ * start of every instruction address. Remove it.
+ */
+ if (name[0] == '.')
+ name++;
+
if (!strcmp(name, "_text") ||
!strcmp(name, "_etext") ||
!strcmp(name, "_sinittext") ||