bmake(1) "sometimes" honors '-j' ?

Glen Barber gjb at FreeBSD.org
Sun Feb 9 21:36:25 UTC 2014


Maybe there is an obvious answer to this, or maybe I just do not
understand how computers work.

For snapshot builds for RPI-B and BEAGLEBONE, I am hard-coding '-j10'
for buildworld and '-j6' for buildkernel, because these values are
somewhat "safe" considering various race conditions with high '-j'
values.  Crochet sets the '-j' value to '1', if WORLDJOBS and
KERNJOBS are not set, so what I end up with is basically:
'make [...] -j10 -j1 ${.TARGET}'.

What I see in ps(1) is a bit confusing to me, though.

For example, the following suggests '-j10' is being honored for the
'libraries' target, but '-j1' is being forced for the 'buildworld'
target, and I'm not sure I understand why.  (Lines broken up for
readability.)

  root at grind:~ # ps auxww | grep make | grep 'j'

  root  67766    0.0  0.0  9024  1048  4  S+    7:20PM       0:03.02 make
  TARGET_ARCH=armv6 SRCCONF=/dev/null __MAKE_CONF=/dev/null -j10 -j 1 buildworld

  root  13112    0.0  0.0  9024  1488  4  S     8:24PM       0:00.94 make
  -j10 -f Makefile.inc1 DESTDIR=/usr/obj/arm.armv6/usr/src/tmp -DNO_FSCHG
  -DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT -DWITHOUT_MAN -DNO_PROFILE
  -DNO_TESTS libraries

So, if I am reading this correctly, the 'libraries' target is honoring
the '-j10', and 'buildworld' is honoring the later-specified '-j1'.

Am I reading this incorrectly, or is this something I just do not
understand about our toolchain?

Thanks.

Glen

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-toolchain/attachments/20140209/0932433d/attachment.sig>


More information about the freebsd-toolchain mailing list