> I think 'make -j' is the way to go, since it lets the user easily
> control the amount of parallelism.

As I said before, make -j is a complete non-starter for me, as it restricts
the paralelism to a single machine and thus would actually reduce the
parallelism from what I have now with multilibs.

Perhaps we can accomodate the different requirements by having a
set of independent make targets which are suitable for simultanous
execution on different hosts usin gthe same file system, and one rule
to bind them all together and do the reporting for the make -j adherents.
For independent execution the reporting job would have to be run explicitly
after the individual test jobs have all completed.

What is important for independent execution is that tere is no hidden
dependency.  E.g. when starting to use the mutilibbed targets, as in

  for check in check-g{cc,++}//arc700-sim/; do
..
      for tar in 
{-mARC600/-mmul64/-mnorm,-mARC600,-mARC700,-mARC600/-mmul32x16/-mnorm}{,/-EB}; 
do
        lsrun -m \$1 make $check\$tar &
        shift
      done
..
I found that it is essential that after building gcc and the libraries,
I also explicitly build site.exp, before I farm out the tests, as
otherwise up to 17 make processes simultanously start to write site.exp,
which does generally not produce a viable site.exp file.

Reply via email to