]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
kernel: improve initramfs bundle processing time
authorBruce Ashfield <bruce.ashfield@gmail.com>
Fri, 14 Apr 2023 19:29:19 +0000 (15:29 -0400)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 20 Apr 2023 10:51:39 +0000 (11:51 +0100)
This is a partial fix for bugzilla 15059 [https://bugzilla.yoctoproject.org/show_bug.cgi?id=15059]

It has been noted by several people that when an initramfs is bundled:

  - a lot of the kernel is rebuilt
  - it takes a really long time

When looking at the logs, the second kernel compilation (that performs
the bundle) is not using the parallel make settings, and builds with
-j1.

We are already explicitly passing PARALLEL_MAKE when building kernel
modules, and by extending that explicit use to the main kernel
compilation, we ensure that we always get a parallel build.

Build times chnaged from more than 30 minutes for the bundle, to
3 minutes in local testing.

The question of whether or not too much is rebuilding during the
bundle step is still an open question, but with this tweak, at least
the build time is back in the realm of acceptable.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
meta/classes-recipe/kernel.bbclass

index aefa0d21bc8295c08d0a1e3e5c5dc6e1bd21aa43..e634eabd49ff8344b201ae8a9dbba584f19cd739 100644 (file)
@@ -382,7 +382,7 @@ kernel_do_compile() {
                use_alternate_initrd=CONFIG_INITRAMFS_SOURCE=${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio
        fi
        for typeformake in ${KERNEL_IMAGETYPE_FOR_MAKE} ; do
-               oe_runmake ${typeformake} ${KERNEL_EXTRA_ARGS} $use_alternate_initrd
+               oe_runmake ${PARALLEL_MAKE} ${typeformake} ${KERNEL_EXTRA_ARGS} $use_alternate_initrd
        done
 }