RPM macros that list arches the full kernel is built on
Avoid running sed on the whole "nm" output and also avoid "sed | awk"
pipe in favor of a single awk call. Overall, this gives around 20%
speedup on some quick synthetic tests:
$ time sh -c 'find ./lib/modules/5.14.0-258.el9.x86_64 -name "*.ko.xz" | find-provides.ksyms.old > /dev/null 2> /dev/null'
sh -c 14.20s user 8.93s system 144% cpu 16.014 total
$ time sh -c 'find ./lib/modules/5.14.0-258.el9.x86_64 -name "*.ko.xz" | find-provides.ksyms.new > /dev/null 2> /dev/null'
sh -c 12.01s user 7.46s system 143% cpu 13.567 total
$ time sh -c 'find ./lib/modules/5.14.0-258.el9.x86_64 -name "*.ko.xz" -exec sh -c "echo {} | find-provides.ksyms.old" \; > /dev/null 2> /dev/null'
sh -c 16.31s user 10.77s system 134% cpu 20.092 total
$ time sh -c 'find ./lib/modules/5.14.0-258.el9.x86_64 -name "*.ko.xz" -exec sh -c "echo {} | find-provides.ksyms.new" \; > /dev/null 2> /dev/null'
sh -c 13.95s user 8.92s system 135% cpu 16.836 total
* find-provides.ksyms: Check presence of absolute __crc_* symbols with
"grep -q" exit code and not presence of sed output; rewrite awk script to match
the __crc_* symbols instead of preprocessing the nm output with sed.
* find-requires.ksyms: Likewise.
Signed-off-by: Eugene Syromiatnikov <esyr@redhat.com>
Resolves: #2135047
|
||
|---|---|---|
| .gitignore | ||
| brp-kmod-restore-perms | ||
| brp-kmod-set-exec-bit | ||
| find-provides.ksyms | ||
| find-requires.ksyms | ||
| firmware.prov | ||
| kabi.attr | ||
| kabi.sh | ||
| kernel-srpm-macros.spec | ||
| kmod.attr | ||
| kmodtool | ||
| macros.kernel-srpm | ||
| macros.kmp | ||
| modalias.attr | ||
| modalias.prov | ||
| provided_ksyms.attr | ||
| README.md | ||
| required_ksyms.attr | ||
| rpmsort | ||
| sources | ||
| symset-table | ||
kernel-srpm-macros
The kernel-srpm-macros package