usr/src/cmd/sgs/Makefile not quite correct after 8413

Review Request #624 — Created July 11, 2017 and submitted

jbk
illumos-gate
8482
general

usr/src/cmd/sgs/Makefile not quite correct after 8413

One of the builds of illumos-joyent hit this (after merging with the upstream). However this time I was able to distill a Makefile that shows the somewhat surprising dmake behavior:

.PARALLEL: c d e f

a: b c d e f
echo a
sleep 10

b: FRC
echo b
sleep 10

c: FRC
echo c
sleep 10

d: FRC
echo d
sleep 10

e: FRC
echo e
sleep 10

f: FRC
echo f
sleep 10

FRC:

Running with dmake -j <# larger than 1> shows that 'b, c, (upto max jobs)' all get built in parallel, while the expectation would be that b would get built first, then c, d, ... in parallel.

andy_js
  1. Everything will build in parallel by default unless "-m serial" is passed to dmake, so setting .PARALLEL like this is no good. In this example you'd want to set .NO_PARALLEL: b.

    With that being said I think you should go ahead with this fix. I hate .WAIT and the lazy way it's often used and how it hurts parallelism, but in this case I think it's better than trying to debug dmake.

  2. 
      
tsoome
  1. Ship It!
  2. 
      
jbk
Review request changed

Status: Closed (submitted)

Loading...