objtool: Delete cleanup()
Perf shows we spend a measurable amount of time spend cleaning up right before we exit anyway. Avoid the needsless work and just terminate. This reduces objtool on vmlinux.o runtime from 5.4s to 4.8s Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Miroslav Benes <mbenes@suse.cz> Acked-by: Josh Poimboeuf <jpoimboe@redhat.com> Link: https://lkml.kernel.org/r/20200324160924.800720170@infradead.org
This commit is contained in:
Родитель
8b5fa6bc32
Коммит
8887a86edd
|
@ -2458,23 +2458,6 @@ static int validate_reachable_instructions(struct objtool_file *file)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static void cleanup(struct objtool_file *file)
|
||||
{
|
||||
struct instruction *insn, *tmpinsn;
|
||||
struct alternative *alt, *tmpalt;
|
||||
|
||||
list_for_each_entry_safe(insn, tmpinsn, &file->insn_list, list) {
|
||||
list_for_each_entry_safe(alt, tmpalt, &insn->alts, list) {
|
||||
list_del(&alt->list);
|
||||
free(alt);
|
||||
}
|
||||
list_del(&insn->list);
|
||||
hash_del(&insn->hash);
|
||||
free(insn);
|
||||
}
|
||||
elf_close(file->elf);
|
||||
}
|
||||
|
||||
static struct objtool_file file;
|
||||
|
||||
int check(const char *_objname, bool orc)
|
||||
|
@ -2542,8 +2525,6 @@ int check(const char *_objname, bool orc)
|
|||
}
|
||||
|
||||
out:
|
||||
cleanup(&file);
|
||||
|
||||
if (ret < 0) {
|
||||
/*
|
||||
* Fatal error. The binary is corrupt or otherwise broken in
|
||||
|
|
Загрузка…
Ссылка в новой задаче