-
Notifications
You must be signed in to change notification settings - Fork 97
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Cache objdump output for build performance
Hostboot uses the objdump tool to disassemble modules and the genlist program to create the listing files (*.list.bz2) for each binary blob generated by the build process (hbibl, hbicore, etc). The hundreds of objdump invocations account for a majority of the build time when recompiling hostboot after a small number of files have been changed because all the shared objects for a binary must be dumped again regardless of whether they have been modified. This commit causes the genlist program and the makefiles to cache the (compressed) disassembly when the BUILD_FAST flag is set so that only modified ELF files need to be redumped. Also several binaries include the same modules, which means that a given module may be dumped multiple times needlessly. Benchmarks for recompilation after modifying small numbers of files show at least a 5x speedup as compared with the original build system. Using BUILD_FAST comes with a cost of about 35 MB of disk space. When compiling all of hostboot (i.e. all libraries must be dumped), using BUILD_FAST is not slower than a vanilla build. The cached objdump output is stored in the img/objdump/ folder. Example: make BUILD_FAST=1 -j32 Change-Id: I65be7b29cec953950bfa664a5ee04e3a711007b5 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/80115 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Luis P Fernandez <luis.fernandez@ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Nicholas E Bofferding <bofferdn@us.ibm.com> Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
- Loading branch information
1 parent
44fe892
commit 5091387
Showing
3 changed files
with
98 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -21,3 +21,5 @@ hbsandboxrc | |
_SYNCAPP/ | ||
gcov_report | ||
lcov_data | ||
standalone/ | ||
objdump/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters