Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 171b3be9 authored by Arnaldo Carvalho de Melo's avatar Arnaldo Carvalho de Melo
Browse files

perf symbol: Move sym_entry->skip to symbol->ignore



While going thru each of the sym_entry fields looking to reduce it to
the set of entries needed when in an active symbols list, 'skip' should
really be in symbol, as we set it when loading the symtab.

And the space used by the basic symbol allocation remains the same as
we had 5 bytes of padding.

Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Tom Zanussi <tzanussi@gmail.com>
LKML-Reference: <new-submission>
Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 878b439d
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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);
+5 −0
Original line number Diff line number Diff line
@@ -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];
};

+0 −1
Original line number Diff line number Diff line
@@ -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];
};