build - Parallelize kernel module build
authorMatthew Dillon <dillon@apollo.backplane.com>
Tue, 9 Jun 2015 00:19:18 +0000 (17:19 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Tue, 9 Jun 2015 00:19:18 +0000 (17:19 -0700)
* Parallelize the module build portion of a full buildkernel.

* Decreases full kernel build times significantly.  The build
  is up to 3 times faster now.

* On monster full kernel build time goes from 10:48 to 3:04.

17 files changed:
sys/bus/Makefile
sys/bus/u4b/Makefile
sys/dev/Makefile
sys/dev/acpica/Makefile
sys/dev/crypto/Makefile
sys/dev/disk/Makefile
sys/dev/drm/Makefile
sys/dev/drm/radeonfw/Makefile
sys/dev/misc/Makefile
sys/dev/netif/Makefile
sys/dev/pccard/Makefile
sys/dev/powermng/Makefile
sys/dev/raid/Makefile
sys/dev/sound/Makefile
sys/net/Makefile
sys/netgraph/Makefile
sys/vfs/Makefile

index 3b44fc4..eb0c698 100644 (file)
@@ -1,3 +1,7 @@
 SUBDIR=        cam firewire iicbus mmc pccard ppbus smbus u4b
 
+# empty to allow concurrent building
+#
+SUBDIR_ORDERED=
+
 .include <bsd.subdir.mk>
index 0629967..7245e79 100644 (file)
@@ -1,3 +1,7 @@
 SUBDIR=        usb audio controller input misc net quirk serial storage template wlan
 
+# empty to allow concurrent building
+#
+SUBDIR_ORDERED=
+
 .include <bsd.subdir.mk>
index aacba42..33ca7b9 100644 (file)
@@ -17,6 +17,9 @@ SUBDIR=       \
        video \
        virtual
 
+# empty to allow concurrent building
+SUBDIR_ORDERED=
+
 .for dir in ${SUBDIR}
 .if empty(DEV_SUPPORT:M${dir}) && empty(DEV_SUPPORT:M${dir}/*)
 SUBDIR:= ${SUBDIR:N${dir}}
index 2e9eddd..233ce99 100644 (file)
@@ -119,4 +119,8 @@ acpi_wakecode.h: acpi_wakecode.S
 SUBDIR=        acpi_asus acpi_dock acpi_fujitsu acpi_hp acpi_panasonic acpi_sony
 SUBDIR+=acpi_thinkpad acpi_toshiba acpi_video acpi_wmi aibs
 
+# Empty for concurrent build
+#
+SUBDIR_ORDERED=
+
 .include <bsd.kmod.mk>
index 428eede..1b4ae43 100644 (file)
@@ -4,4 +4,8 @@ SUBDIR= aesni cryptodev hifn padlock rdrand rndtest safe tpm ubsec
 SUBDIR+=glxsb
 .endif
 
+# Empty for concurrent build
+#
+SUBDIR_ORDERED=
+
 .include <bsd.subdir.mk>
index b9c2346..3ec33c7 100644 (file)
@@ -10,4 +10,8 @@ SUBDIR:= ${SUBDIR:N${dir}}
 .endif
 .endfor
 
+# Empty for concurrent build
+#
+SUBDIR_ORDERED=
+
 .include <bsd.subdir.mk>
index 64b2350..03069e4 100644 (file)
@@ -4,4 +4,8 @@ SUBDIR = drm radeon radeonfw
 SUBDIR+= i915
 .endif
 
+# empty to allow concurrent building
+#
+SUBDIR_ORDERED=
+
 .include <bsd.obj.mk>
index bef22a4..d3f0496 100644 (file)
@@ -222,4 +222,8 @@ SUBDIR=                                                                     \
        verde_rlc                                                       \
        verde_smc
 
+# empty to allow concurrent building
+#
+SUBDIR_ORDERED=
+
 .include <bsd.subdir.mk>
index c75dcf1..fe7509c 100644 (file)
@@ -1,4 +1,8 @@
 SUBDIR= amdsbwd cmx cpuctl dcons ecc ichwd ipmi joy kbdmux lpbb \
        nmdm pcfclock putter snp syscons tbridge coremctl dimm
 
+# Empty for concurrent build
+#
+SUBDIR_ORDERED=
+
 .include <bsd.subdir.mk>
index 7b94033..9458e89 100644 (file)
@@ -9,4 +9,8 @@ SUBDIR= an age alc ale ath bce bfe bge bwn \
 SUBDIR+=ar ed sbni sr
 .endif
 
+# Empty for concurrent build
+#
+SUBDIR_ORDERED=
+
 .include <bsd.subdir.mk>
index 6944cbf..50b6b28 100644 (file)
@@ -3,4 +3,8 @@
 
 SUBDIR=cardbus exca pccbb
 
+# Empty for concurrent build
+#
+SUBDIR_ORDERED=
+
 .include <bsd.subdir.mk>
index 6a6b6db..fd39fc1 100644 (file)
@@ -3,4 +3,8 @@ SUBDIR+=intpm kate km lm powernow uguru
 SUBDIR+=viapm wbsio perfbias clockmod
 SUBDIR+=memtemp
 
+# Empty for concurrent build
+#
+SUBDIR_ORDERED=
+
 .include <bsd.subdir.mk>
index 2a5f89a..91a3ee0 100644 (file)
@@ -5,4 +5,8 @@ SUBDIR= aac amr arcmsr asr ciss hpt27xx hptiop hptmv hptrr \
 SUBDIR+=pst
 .endif
 
+# Empty for concurrent build
+#
+SUBDIR_ORDERED=
+
 .include <bsd.subdir.mk>
index ae96fd4..76069c4 100644 (file)
@@ -1,7 +1,12 @@
-# $FreeBSD: head/sys/modules/sound/Makefile 132236 2004-07-16 04:00:08Z tanimura $
+# Makefile
+#
 
 SUBDIR =
 SUBDIR += sound
 SUBDIR += driver
 
+# empty to allow concurrent building
+#
+SUBDIR_ORDERED=
+
 .include <bsd.subdir.mk>
index dee8162..caec824 100644 (file)
@@ -3,4 +3,8 @@ SUBDIR=accf_data accf_http disc faith gif gre sl stf tap tun \
        dummynet3 ipfw3 ipfw3_basic ipfw3_nat ipfw3_layer2 ipfw3_layer4 \
        ip6fw ip_mroute sppp ppp_layer pf
 
+# empty to allow concurrent building
+#
+SUBDIR_ORDERED=
+
 .include <bsd.subdir.mk>
index b9170fd..a4242f7 100644 (file)
@@ -36,4 +36,8 @@ SUBDIR+=      mppc
 SUBDIR+=       sync_ar sync_sr
 .endif
 
+# empty to allow concurrent building
+#
+SUBDIR_ORDERED=
+
 .include <bsd.subdir.mk>
index 06dce51..6f340e7 100644 (file)
@@ -5,4 +5,8 @@ SUBDIR=fifofs msdosfs portal nfs procfs puffs \
        hpfs ntfs smbfs isofs mfs udf \
        nullfs hammer tmpfs
 
+# empty to allow concurrent building
+#
+SUBDIR_ORDERED=
+
 .include <bsd.subdir.mk>