[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