diff options
| author | Jack Brennen <[email protected]> | 2023-09-26 12:40:44 +0000 |
|---|---|---|
| committer | Masahiro Yamada <[email protected]> | 2023-10-03 11:25:59 +0000 |
| commit | 4074532758c5c367d3fcb8d124150824a254659d (patch) | |
| tree | 6855ea558308e1f2c4a92e990344ef11297cca48 /scripts/mod/file2alias.c | |
| parent | Linux 6.6-rc4 (diff) | |
| download | kernel-4074532758c5c367d3fcb8d124150824a254659d.tar.gz kernel-4074532758c5c367d3fcb8d124150824a254659d.zip | |
modpost: Optimize symbol search from linear to binary search
Modify modpost to use binary search for converting addresses back
into symbol references. Previously it used linear search.
This change saves a few seconds of wall time for defconfig builds,
but can save several minutes on allyesconfigs.
Before:
$ make LLVM=1 -j128 allyesconfig vmlinux -s KCFLAGS="-Wno-error"
$ time scripts/mod/modpost -M -m -a -N -o vmlinux.symvers vmlinux.o
198.38user 1.27system 3:19.71elapsed
After:
$ make LLVM=1 -j128 allyesconfig vmlinux -s KCFLAGS="-Wno-error"
$ time scripts/mod/modpost -M -m -a -N -o vmlinux.symvers vmlinux.o
11.91user 0.85system 0:12.78elapsed
Signed-off-by: Jack Brennen <[email protected]>
Tested-by: Nick Desaulniers <[email protected]>
Signed-off-by: Masahiro Yamada <[email protected]>
Diffstat (limited to 'scripts/mod/file2alias.c')
0 files changed, 0 insertions, 0 deletions
