[lit] Raise the default soft process limit when possible
authorHal Finkel <hfinkel@anl.gov>
Fri, 2 Oct 2015 17:50:28 +0000 (17:50 +0000)
committerHal Finkel <hfinkel@anl.gov>
Fri, 2 Oct 2015 17:50:28 +0000 (17:50 +0000)
commit64bfc0ae9d1563692621c876d8307f931c50fe86
treea095e3e1f0d71e523715e57452f4173908c1bc99
parent49943002904a7e591a850a4c1823a3b522e86dec
[lit] Raise the default soft process limit when possible

It is common to have a default soft process limit, at least on some families of
Linux distributions, of 1024. This is normally more than enough, but if you
have many cores, and you're running tests that create many threads, this can
become a problem. My POWER7 development machine has 48 cores, and when running
the lld regression tests, which often want to create up to 48 threads, I run
into problems. lit, by default, will want to run 48 tests in parallel, and
48*48 < 1024, and so many tests fail like this:

terminate called after throwing an instance of 'std::system_error'

what():  Resource temporarily unavailable
or lit fails like this when launching a test:

OSError: [Errno 11] Resource temporarily unavailable

lit can easily detect this situation and attempt to repair it before launching
tests (by raising the soft process limit to something that will allow ncpus^2
threads to be created), and should do so to prevent spurious test failures.

This is the follow-up to this thread:
http://lists.llvm.org/pipermail/llvm-dev/2015-October/090942.html

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@249161 91177308-0d34-0410-b5e6-96231b3b80d8
utils/lit/lit/run.py