forked from OSchip/llvm-project
Lit: Rework r249161; Move RLIMIT_NPROC to main.py.
The message "raised the process limit..." prevented the progress bar. llvm-svn: 250420
This commit is contained in:
parent
ae81a7bf49
commit
9ea61afc86
|
@ -344,6 +344,28 @@ def main(builtinParameters = {}):
|
|||
# Don't create more threads than tests.
|
||||
opts.numThreads = min(len(run.tests), opts.numThreads)
|
||||
|
||||
# Because some tests use threads internally, and at least on Linux each
|
||||
# of these threads counts toward the current process limit, try to
|
||||
# raise the (soft) process limit so that tests don't fail due to
|
||||
# resource exhaustion.
|
||||
try:
|
||||
cpus = lit.util.detectCPUs()
|
||||
desired_limit = opts.numThreads * cpus * 2 # the 2 is a safety factor
|
||||
|
||||
# Import the resource module here inside this try block because it
|
||||
# will likely fail on Windows.
|
||||
import resource
|
||||
|
||||
max_procs_soft, max_procs_hard = resource.getrlimit(resource.RLIMIT_NPROC)
|
||||
desired_limit = min(desired_limit, max_procs_hard)
|
||||
|
||||
if max_procs_soft < desired_limit:
|
||||
resource.setrlimit(resource.RLIMIT_NPROC, (desired_limit, max_procs_hard))
|
||||
litConfig.note('raised the process limit from %d to %d' % \
|
||||
(max_procs_soft, desired_limit))
|
||||
except:
|
||||
pass
|
||||
|
||||
extra = ''
|
||||
if len(run.tests) != numTotalTests:
|
||||
extra = ' of %d' % numTotalTests
|
||||
|
|
|
@ -228,28 +228,6 @@ class Run(object):
|
|||
canceled_flag = LockedValue(0)
|
||||
consumer = ThreadResultsConsumer(display)
|
||||
|
||||
# Because some tests use threads internally, and at least on Linux each
|
||||
# of these threads counts toward the current process limit, try to
|
||||
# raise the (soft) process limit so that tests don't fail due to
|
||||
# resource exhaustion.
|
||||
try:
|
||||
cpus = lit.util.detectCPUs()
|
||||
desired_limit = jobs * cpus * 2 # the 2 is a safety factor
|
||||
|
||||
# Import the resource module here inside this try block because it
|
||||
# will likely fail on Windows.
|
||||
import resource
|
||||
|
||||
max_procs_soft, max_procs_hard = resource.getrlimit(resource.RLIMIT_NPROC)
|
||||
desired_limit = min(desired_limit, max_procs_hard)
|
||||
|
||||
if max_procs_soft < desired_limit:
|
||||
resource.setrlimit(resource.RLIMIT_NPROC, (desired_limit, max_procs_hard))
|
||||
self.lit_config.note('raised the process limit from %d to %d' % \
|
||||
(max_procs_soft, desired_limit))
|
||||
except:
|
||||
pass
|
||||
|
||||
# Create the test provider.
|
||||
provider = TestProvider(self.tests, jobs, queue_impl, canceled_flag)
|
||||
|
||||
|
|
Loading…
Reference in New Issue