freebsd-skq/bin
dim 905ed8bc75 Add a SUBDIR_PARALLEL option to bsd.subdir.mk, to allow make to process
all the SUBDIR entries in parallel, instead of serially.  Apply this
option to a selected number of Makefiles, which can greatly speed up the
build on multi-core machines, when using make -j.

This can be extended to more Makefiles later on, whenever they are
verified to work correctly with parallel building.

I tested this on a 24-core machine, with make -j48 buildworld (N = 6):

                before    stddev       after    stddev
                =======   ======       =======  ======
real time        1741.1     16.5         959.8     2.7
user time       12468.7     16.4       14393.0    16.8
sys  time        1825.0     54.8        2110.6    22.8

(user+sys)/real     8.2                   17.1

E.g. the build was approximately 45% faster in real time.  On machines
with less cores, or with lower -j settings, the speedup will not be as
impressive.  But at least you can now almost max out a machine with
buildworld!

Submitted by:	jilles
MFC after:	2 weeks
2014-03-26 22:30:38 +00:00
..
cat Close the newly-created FD if the pathname is too long. 2014-01-11 15:01:30 +00:00
chflags Expand the use of stat(2) flags to allow storing some Windows/DOS 2013-08-21 23:04:48 +00:00
chio Update chio(1) and ch(4) to support reporting element designators. 2013-04-19 20:03:51 +00:00
chmod
cp Add a few examples. 2013-03-15 20:12:54 +00:00
csh
date Make bsd.test.mk the only public mk fragment for the building of tests. 2014-03-14 08:56:19 +00:00
dd Sweep man pages replacing ad -> ada. 2013-10-01 18:41:53 +00:00
df -h and -H options backwards in manual page. 2014-01-16 17:06:02 +00:00
domainname Point users towards nisdomainname and rc.conf. 2013-04-22 17:55:12 +00:00
echo
ed Fix a -Wunsequenced warning. 2013-06-29 15:49:26 +00:00
expr Add the Clang specific -Wmissing-variable-declarations to WARNS=6. 2013-04-19 19:45:00 +00:00
freebsd-version Remove extraneous \n. 2013-10-11 20:10:18 +00:00
getfacl Fix warnings found by -Wmising-variable-declarations. 2012-10-19 05:43:38 +00:00
hostname Mark usage() __dead2 2013-04-28 22:52:43 +00:00
kenv Constify parameters, no functional or binary change. 2013-05-15 18:38:28 +00:00
kill sh: Allow kill %job on jobs started without job control. 2014-03-15 14:58:48 +00:00
ln Add 'static' where able. 2013-06-02 17:55:00 +00:00
ls Expand the use of stat(2) flags to allow storing some Windows/DOS 2013-08-21 23:04:48 +00:00
mkdir Add missing static qualifiers 2013-04-27 21:59:43 +00:00
mv Make bsd.test.mk the only public mk fragment for the building of tests. 2014-03-14 08:56:19 +00:00
pax Make bsd.test.mk the only public mk fragment for the building of tests. 2014-03-14 08:56:19 +00:00
pkill Migrate tools/regression/usr.bin/pkill to the new tests layout. 2014-03-19 12:46:04 +00:00
ps Correct the description of the V state, which indicates that the process' 2013-12-28 03:04:05 +00:00
pwait Use a different way to silence clang analyzer as done in r245494 by 2013-01-16 18:15:25 +00:00
pwd
rcp Fix warnings found by -Wmising-variable-declarations. 2012-10-19 05:43:38 +00:00
realpath
rm Add two more 'static' qualifiers 2013-04-26 17:56:35 +00:00
rmail
rmdir Add a few examples. 2013-03-15 20:12:54 +00:00
setfacl Mention that read_attributes, write_attributes, read_acl and write_acl 2013-04-01 13:17:28 +00:00
sh sh: Fix possible memory leaks and double frees with unexpected SIGINT. 2014-03-26 20:43:40 +00:00
sleep sleep: Explain in a comment why the [EINTR] check is there. 2013-06-05 20:15:18 +00:00
stty stty: Mark usage() __dead2. 2012-07-15 21:12:22 +00:00
sync
test Make bsd.test.mk the only public mk fragment for the building of tests. 2014-03-14 08:56:19 +00:00
tests Migrate tools/regression/bin/ tests to the new layout. 2013-12-11 04:09:17 +00:00
uuidgen
Makefile Add a SUBDIR_PARALLEL option to bsd.subdir.mk, to allow make to process 2014-03-26 22:30:38 +00:00
Makefile.inc