[PATCH 0/5] Improve make and make check parallelism

Adhemerval Zanella Netto adhemerval.zanella@linaro.org
Tue Jun 16 13:25:58 GMT 2026



On 15/06/26 21:52, DJ Delorie wrote:
> Adhemerval Zanella Netto <adhemerval.zanella@linaro.org> writes:
>> Making the nptl's tests to additionally not overlap with other subdirs 
>> (restore the old isolation), would need an explicit serialization edge 
>> and that would erase much of the parallel-check speedup.
> 
> Maybe we want a new category for non-parallelizable tests?  We could
> make that target .NOTPARALLEL at the top level (both the container
> target and wildcard its contents).  There's no way to notparallel a
> target in a subdirectory and have it apply across the build.
> 
> That might be a useful category to disable on small systems or when test
> time must be minimized, too.
> 

I circle back on my v2 [1], and now 'make check' does:

  1. make check run-built-tests=no
  2. make check run-built-tests=yes

It is still an improvement, since 1. now has slight more parallelism and 
2. runs most of tests in parallel minus nptl/htl and rt. It should keep
the current semantic of not running other tests in parallel while
nptl/htl/rt are being tested.
 
For faster machines I added a new 'check-parallel' rule which runs
*everything* in parallel, but might require some tests to use a larger
timeout (through TIMEOUTFACTOR) to avoid timeout failures.

I will check if we can instead signal single tests that should not be
ran in parallel in the Makefile (with some like test-notparallel = yes);
so 'make check' could add special rules to move them after everything has
executed.  It would require some additional evaluation work to mark
which tests require it, but I think we can improve even more the default
'make check' execution time.

[1] https://patchwork.sourceware.org/project/glibc/list/?series=62266


More information about the Libc-alpha mailing list