summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/perf/builtin-top.c4
-rw-r--r--tools/perf/util/symbol.h5
-rw-r--r--tools/perf/util/top.h1
3 files changed, 7 insertions, 3 deletions
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index 31ea7a68baa4..70f1075cc5b0 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 db39c0c63608..713b0b40cc4a 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 ba111b25e16a..bfbf95bcc603 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];
};