[m-rev.] for review: support parallel bootcheck using --use-mmc-make
Julien Fischer
jfischer at opturion.com
Tue Jul 9 19:25:24 AEST 2019
Hi Peter,
On Tue, 9 Jul 2019, Peter Wang wrote:
> On Tue, 9 Jul 2019 02:53:31 +1000 (AEST), Julien Fischer <jfischer at opturion.com> wrote:
>>
>> For review by anyone.
>>
>> There are still a number of issues with parallel bootechecks using
>> --use-mmc-make, but this diff resolves the main problem.
>>
>> Note that the mmc --make does not currently support parallel jobs
>> in the non-C grades so stage 3 in those grades will not build in
>> parallel.
>>
>> ----------------------------
>>
>> Support parallel bootchecks using --use-mmc-make.
>>
>> Parallel bootchecks using --use-mmc-make do not currently work because mmake
>> creates multiple instances of mmc --make per directory and these conflict with
>> each other. Modify the bootcheck script so that when --use-mmc-make is
>> enabled, we do not build affected directories with mmake's -j option but
>> instead pass the -j option directly to Mercury compiler.
>
> Maybe -j should be recognised as an mmake option, which then
> passes -j either to make or mmc --make as appropriate
> (assuming there is some variable we can pass it through).
That should be possible as well, although I'm not convinced that too
much effort should be spent supporting mmake --use-mmc-make.
(As an aside: it would also be nice to integrate mmc --make with
GNU make's job server mechanism, now that the latter has a documented
interface.)
On another issue related to this change: did we have a multithreaded
version of mmc --make somewhere? (I seem to remember someone working on
one, but I can't remember if it was you or Paul.) The implementation
that uses separate processes only works on the C backends and isn't
going to port easily to the non-C backends.
Julien.
More information about the reviews
mailing list