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

Adhemerval Zanella Netto adhemerval.zanella@linaro.org
Mon Jun 15 16:21:25 GMT 2026



On 15/06/26 11:46, Florian Weimer wrote:
> * Adhemerval Zanella Netto:
> 
>> On 15/06/26 11:15, Florian Weimer wrote:
>>> * Adhemerval Zanella:
>>>
>>>> The series does not aim to improve 'make check' with
>>>> run-built-tests=yes: subdirectories such as nptl require their tests
>>>> not to run in parallel.
>>>
>>> Based on my logs, it seems to me that nptl tests now run in parallel
>>> with other directories.  Do others see this as well?
>>>
>>> This somewhat defeats the .NOTPARALLEL directive for nptl (and rt).
>>
>> Yes, but nptl sub-make reads nptl/Makefile, hits .NOTPARALLEL and within
>> that process the nptl tests run one at a time.
>>
>> 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.
> 
> Only a subset of the nptl tests would need this anyway.  And we have
> other tests that are CPU burners or that need tons of RAM that should
> not be parallelized, either.
> 
> I think we could have a top-level .NOTPARALLEL wrapper that tests
> everything except nptl/htl and rt (without applying .NOTPARALLEL), then
> nptl/htl, and then rt.  Not sure if there's a simpler approach to get
> the desired semantics.
I am not really fond of these kind of tests, we might get false positive
depending of system loading.  But I also agree that adding this parallel
run does not improve this.

The build of the tests with this approach is highly parallel, so I think we
can split the check in two phases: build (run-built-tests=no) and run
(run-built-tests=yes).  This incurs in two make transversal, but I think 
this is not a performance bottleneck anymore and this will make keeping 
current .NOTPARALLEL semantics easier to define in the Makefile.

I will send a newer version, I found an issue when make subfolder/tests
is used (it now runs all tests instead only the one in the subfolder).


More information about the Libc-alpha mailing list