perf top: Add ppc64 specific skip symbols and strip ppc64 . prefix
Anton Blanchard [Tue, 30 Jun 2009 23:00:47 +0000 (09:00 +1000)]
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>

tools/perf/builtin-top.c

index 731ec6d..0506cd6 100644 (file)
@@ -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") ||