From 182bc8a29bbb94eb51951b0178922e224bae61cf Mon Sep 17 00:00:00 2001 From: Anton Blanchard Date: Wed, 1 Jul 2009 09:00:47 +1000 Subject: [PATCH] --- yaml --- r: 155178 b: refs/heads/master c: 3a3393ef75a14ae259a82f3f38624efa17884168 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/tools/perf/builtin-top.c | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 6069cbe97c5d..8f1efa25c61e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2ab52083ffc057014e502cf3473adc41436922fa +refs/heads/master: 3a3393ef75a14ae259a82f3f38624efa17884168 diff --git a/trunk/tools/perf/builtin-top.c b/trunk/tools/perf/builtin-top.c index 731ec6d79c1c..0506cd6e04cc 100644 --- a/trunk/tools/perf/builtin-top.c +++ b/trunk/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") ||