[PATCH] gcc parallel make check

Bernhard Reutner-Fischer rep.dot.nop@gmail.com
Sat Sep 13 10:58:00 GMT 2014


On 13 September 2014 02:04:51 Jakub Jelinek <jakub@redhat.com> wrote:

> On Fri, Sep 12, 2014 at 04:42:25PM -0700, Mike Stump wrote:
> > curious, when I run atomic.exp=stdatom\*.c:
> >
> >   gcc.dg/atomic/atomic.exp completed in 30 seconds.
> >
> > atomic.exp=c\*.c takes 522 seconds with 3, 2, 5 and 4 being the worst 
> offenders.
>
> That's the
>         @if [ -z "$(filter-out --target_board=%,$(filter-out 
>         --extra_opts%,$(RUNTESTFLAGS)))" ] \
>             && [ "$(filter -j, $(MFLAGS))" = "-j" ]; then \
> i.e. if you specify anything in RUNTESTFLAGS other than --target_board= or
> --extra_opts, it is not parallelized.  This was done previously because
> parallelization required setting the flags to something different (manually
> created *.exp list).  The first [] could

Yes, this is very inconvenient, especially in the light of -v in the 
runtestflags which should certainly not prohibit parallel execution.
See https://gcc.gnu.org/ml/gcc-patches/2013-11/msg00997.html
for how I would fix that.. (findstring empty instead of filter-out).

TIA,

 perhaps be removed now, if one e.g.
> RUNTESTFLAGS=atomic.exp etc. with sufficiently enough tests, parallelization
> will be still worth it.  I've been worried about the quick cases where
> parallelization is not beneficial, like make check-gcc \
> RUNTESTFLAGS=dg.exp=pr60123.c or similar, but one doesn't usually pass -jN
> in that case.  So yes, the
> [ -z "$(filter-out --target_board=%,$(filter-out 
> --extra_opts%,$(RUNTESTFLAGS)))" ]
> can be dropped (not in libstdc++ though, there are abi.exp and
> prettyprinters.exp still run serially, though even that could be handled the
> struct-layout-1.exp way, of running it by the first instance to encounter
> those with small changes in those *.exp files).
>
> 	Jakub



Sent with AquaMail for Android
http://www.aqua-mail.com




More information about the Gcc-patches mailing list