mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 21:38:32 +08:00
perf symbols: When not using modules, discard its symbols
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Frédéric Weisbecker <fweisbec@gmail.com> Cc: Mike Galbraith <efault@gmx.de> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Paul Mackerras <paulus@samba.org> LKML-Reference: <1259346563-12568-10-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
95011c6007
commit
1de8e24520
@ -381,6 +381,9 @@ static int dso__split_kallsyms(struct dso *self, struct map *map, struct thread
|
||||
|
||||
module = strchr(pos->name, '\t');
|
||||
if (module) {
|
||||
if (!thread->use_modules)
|
||||
goto discard_symbol;
|
||||
|
||||
*module++ = '\0';
|
||||
|
||||
if (strcmp(self->name, module)) {
|
||||
@ -420,7 +423,7 @@ static int dso__split_kallsyms(struct dso *self, struct map *map, struct thread
|
||||
}
|
||||
|
||||
if (filter && filter(curr_map, pos)) {
|
||||
rb_erase(&pos->rb_node, root);
|
||||
discard_symbol: rb_erase(&pos->rb_node, root);
|
||||
symbol__delete(pos);
|
||||
} else {
|
||||
if (curr_map != map) {
|
||||
@ -1635,6 +1638,7 @@ int symbol__init(struct symbol_conf *conf)
|
||||
return -1;
|
||||
}
|
||||
|
||||
kthread->use_modules = pconf->use_modules;
|
||||
if (pconf->use_modules && thread__create_module_maps(kthread) < 0)
|
||||
pr_debug("Failed to load list of modules in use, "
|
||||
"continuing...\n");
|
||||
|
@ -10,6 +10,7 @@ struct thread {
|
||||
struct rb_root maps[MAP__NR_TYPES];
|
||||
struct list_head removed_maps[MAP__NR_TYPES];
|
||||
pid_t pid;
|
||||
bool use_modules;
|
||||
char shortname[3];
|
||||
char *comm;
|
||||
int comm_len;
|
||||
|
Loading…
Reference in New Issue
Block a user