Commit Graph

1 Commits

Author SHA1 Message Date
Donald Dutile 5c039ddd46 modpost: Optimize symbol search from linear to binary search
JIRA: https://issues.redhat.com/browse/RHEL-28063

Conflicts: Slight source diff due to omitted commits from upstream.

commit 4074532758c5c367d3fcb8d124150824a254659d
Author: Jack Brennen <jbrennen@google.com>
Date:   Tue Sep 26 08:40:44 2023 -0400

    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 <jbrennen@google.com>
    Tested-by: Nick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>

Signed-off-by: Donald Dutile <ddutile@redhat.com>
2024-06-17 14:17:29 -04:00