image: let mksquashfs4 use all processors
authorStijn Tintel <stijn@linux-ipv6.be>
Sat, 19 Feb 2022 15:54:22 +0000 (17:54 +0200)
committerPaul Spooren <mail@aparcar.org>
Tue, 29 Mar 2022 12:32:31 +0000 (13:32 +0100)
Drop the -processors argument from the mksquashfs4 call, so it will use
all available processors. This dramatically reduces the time to create
squashfs filesystems.

The times below are observed when building an image for my main router,
the WatchGuard Firebox M300 (qoriq target):

Before:
real    4m45,973s

After:
real    0m23,497s

With this commit `mksquashfs` may use more cores than defined via `-j`.
This is the same behaviour as for archive creation of ImageBuilder, SDK
or toolchain. There is no trivial way to limit `mksquashfs` CPU core
usage to the amount of "free" make jobs since two running `mksquashfs`
instances would each run with the total allowed number (-j) of threads.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
[extended reasoning in commit message]
Signed-off-by: Paul Spooren <mail@aparcar.org>
include/image.mk

index e5b52d0e97c6c7b6794c538e6944d7417fcb6cf3..35a5e291c68d480a390ad1d42a653c102afd378f 100644 (file)
@@ -230,8 +230,7 @@ $(eval $(foreach S,$(NAND_BLOCKSIZE),$(call Image/mkfs/jffs2-nand/template,$(S))
 define Image/mkfs/squashfs-common
        $(STAGING_DIR_HOST)/bin/mksquashfs4 $(call mkfs_target_dir,$(1)) $@ \
                -nopad -noappend -root-owned \
-               -comp $(SQUASHFSCOMP) $(SQUASHFSOPT) \
-               -processors 1
+               -comp $(SQUASHFSCOMP) $(SQUASHFSOPT)
 endef
 
 ifeq ($(CONFIG_TARGET_ROOTFS_SECURITY_LABELS),y)