diff options
-rw-r--r-- | tools/perf/builtin-top.c | 4 | ||||
-rw-r--r-- | tools/perf/util/symbol.h | 5 | ||||
-rw-r--r-- | tools/perf/util/top.h | 1 |
3 files changed, 7 insertions, 3 deletions
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c index 31ea7a6..70f1075 100644 --- a/tools/perf/builtin-top.c +++ b/tools/perf/builtin-top.c @@ -676,7 +676,7 @@ static int symbol_filter(struct map *map, struct symbol *sym) for (i = 0; skip_symbols[i]; i++) { if (!strcmp(skip_symbols[i], name)) { - syme->skip = 1; + sym->ignore = true; break; } } @@ -779,7 +779,7 @@ static void perf_event__process_sample(const union perf_event *event, } syme = symbol__priv(al.sym); - if (!syme->skip) { + if (!al.sym->ignore) { struct perf_evsel *evsel; evsel = perf_evlist__id2evsel(top.evlist, sample->id); diff --git a/tools/perf/util/symbol.h b/tools/perf/util/symbol.h index db39c0c..713b0b4 100644 --- a/tools/perf/util/symbol.h +++ b/tools/perf/util/symbol.h @@ -48,12 +48,17 @@ char *strxfrchar(char *s, char from, char to); #define BUILD_ID_SIZE 20 +/** struct symbol - symtab entry + * + * @ignore - resolvable but tools ignore it (e.g. idle routines) + */ struct symbol { struct rb_node rb_node; u64 start; u64 end; u16 namelen; u8 binding; + bool ignore; char name[0]; }; diff --git a/tools/perf/util/top.h b/tools/perf/util/top.h index ba111b2..bfbf95b 100644 --- a/tools/perf/util/top.h +++ b/tools/perf/util/top.h @@ -16,7 +16,6 @@ struct sym_entry { struct list_head node; unsigned long snap_count; double weight; - int skip; struct map *map; unsigned long count[0]; }; |