David Boyce wrote: > On Wed, May 4, 2011 at 11:20 AM, Per Jessen <[email protected]> wrote: >> yeah, SYNCSH_SERIALIZE is equal to what I do today using this >> construct: >> >> (flock -s 200; some-command $^ $@) 200>/var/lock/some-lockfile >> >> It satisfies the single-thread requirement, but in massively parallel >> runs, several of these often end up waiting for each other. It would >> be optimal if make knew not to submit more than 1 at a time, I was >> just wondering if I'd skipped a page in the manual :-) > > Could you rephrase this? I can't see a meaningful distinction between > "waiting for each other" and "submit one at a time". Either way > they're serialized, no?
Yes, it satisfies the serialization requirement, but if, for instance, you run a make -j16 and 3 processes get tied up waiting for a fourth, the jobserver thinks they're running and won't be submitting jobs that could run. It's purely an optimization issue. /Per Jessen, Zürich _______________________________________________ Help-make mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-make
