Bill Moran wrote: > In response to Ed Schouten <ed_at_fxq.nl>: > >> * Ian FREISLICH <ianf_at_clue.co.za> wrote: >>> As an aside, a 64 way parallel make buildworld doesn't saturate the CPU. >> I'm not sure, but I think if you do this: >> >> make -j64 <foo> >> >> it only spawns 64 processes to handle the top level make process. This >> would mean we've got a couple of processes doing this: >> >> make -C bin >> make -C lib >> make -C sbin >> make -C usr.bin >> make -C usr.sbin >> >> and the other processes will just quit, because they don't have anything >> to do. Right? :-) > > Basically, -j tells make the _maximum_ number of jobs to run in parallel. > I frequently do -j99, but I've never seen more than about 20. You can't > just look at it for a second, either. Certain parts of the build > process have more parallelism available than others, so you might look > at it at a point where there are only a few. > > If you really want to saturate it, copy the src tree a few times and > start a make -j99 buildworld in all of them simultaneously :D > my memory is that ohk changed make to have a fifo with N (as in -j N) tokens in it and all child makes inherrit this fifo (or get it's name from an environment variable or something) and can only spawn extra makes if they can get a token. When they have finished their work they pu the token back into the fifo.. My memories of this may be somewhat inaccurate however.Received on Thu Feb 14 2008 - 06:26:41 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:27 UTC