objtool: Optimize find_rela_by_dest_range()
authorPeter Zijlstra <peterz@infradead.org>
Thu, 12 Mar 2020 10:30:50 +0000 (11:30 +0100)
committerPeter Zijlstra <peterz@infradead.org>
Wed, 25 Mar 2020 17:28:31 +0000 (18:28 +0100)
commit74b873e49d92f90deb41d1a2a8fbb70328aebd67
tree202750758a1796652a86b895de1a7fc79ff17673
parent8887a86eddd93ca396ca35f7b41fb14ed412f85d
objtool: Optimize find_rela_by_dest_range()

Perf shows there is significant time in find_rela_by_dest(); this is
because we have to iterate the address space per byte, looking for
relocation entries.

Optimize this by reducing the address space granularity.

This reduces objtool on vmlinux.o runtime from 4.8 to 4.4 seconds.

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.861321325@infradead.org
tools/objtool/elf.c
tools/objtool/elf.h