diff options
-rw-r--r-- | tools/perf/builtin-top.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c index 731ec6d79c1c..0506cd6e04cc 100644 --- a/tools/perf/builtin-top.c +++ b/tools/perf/builtin-top.c | |||
@@ -293,6 +293,8 @@ char *skip_symbols[] = { | |||
293 | "enter_idle", | 293 | "enter_idle", |
294 | "exit_idle", | 294 | "exit_idle", |
295 | "mwait_idle", | 295 | "mwait_idle", |
296 | "ppc64_runlatch_off", | ||
297 | "pseries_dedicated_idle_sleep", | ||
296 | NULL | 298 | NULL |
297 | }; | 299 | }; |
298 | 300 | ||
@@ -303,6 +305,13 @@ static int symbol_filter(struct dso *self, struct symbol *sym) | |||
303 | const char *name = sym->name; | 305 | const char *name = sym->name; |
304 | int i; | 306 | int i; |
305 | 307 | ||
308 | /* | ||
309 | * ppc64 uses function descriptors and appends a '.' to the | ||
310 | * start of every instruction address. Remove it. | ||
311 | */ | ||
312 | if (name[0] == '.') | ||
313 | name++; | ||
314 | |||
306 | if (!strcmp(name, "_text") || | 315 | if (!strcmp(name, "_text") || |
307 | !strcmp(name, "_etext") || | 316 | !strcmp(name, "_etext") || |
308 | !strcmp(name, "_sinittext") || | 317 | !strcmp(name, "_sinittext") || |