From 5ecdd529ae38fecd35bfc41869058802c804a01e Mon Sep 17 00:00:00 2001 From: Andre Przywara Date: Tue, 11 Jan 2022 15:34:50 +0000 Subject: [PATCH] genboardscfg: limit to 240 jobs When genboardscfg.py is run on machines with 255 or more cores, the process will consume more than 1024 file descriptors, which is a common standard ulimit for user processes. As a consequence it will fail with a lenghty Python trace, with the almost hidden message: OSError: [Errno 24] Too many open files It's somewhat questionable whether that level of parallelity is actually useful for genboardscfg, so we limit the *default* number of jobs to the safe number of 240, to avoid the problem. If a user persists, she can still force a higher number via the -j parameter - hopefully having raised the ulimit accordingly beforehand. Signed-off-by: Andre Przywara Reviewed-by: Heinrich Schuchardt Reviewed-by: Simon Glass --- tools/genboardscfg.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/genboardscfg.py b/tools/genboardscfg.py index 4ee7aa1..07bf681 100755 --- a/tools/genboardscfg.py +++ b/tools/genboardscfg.py @@ -430,7 +430,7 @@ def main(): # Add options here parser.add_option('-f', '--force', action="store_true", default=False, help='regenerate the output even if it is new') - parser.add_option('-j', '--jobs', type='int', default=cpu_count, + parser.add_option('-j', '--jobs', type='int', default=min(cpu_count, 240), help='the number of jobs to run simultaneously') parser.add_option('-o', '--output', default=OUTPUT_FILE, help='output file [default=%s]' % OUTPUT_FILE) -- 2.7.4