Commit 27e9883b by Gert Wollny Committed by Angle LUCI CQ

Capture/Replay: Limit number of compile processes based on load

When replaying, for each batch a limited number of compile processes is launched, but no all-over limit is set, so that on computers with a low processor count and/or limited working memory the machine may become un-responsive. Therefore, tell ninja to not spawn new processes when the load is larger than the number of available processors. Bug: angleproject:6078 Change-Id: I9982a139ef2346d0cf25fbd510c7aff038e48071 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2976658Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarCody Northrop <cnorthrop@google.com> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
parent da523f6b
...@@ -286,6 +286,9 @@ class ChildProcessesManager(): ...@@ -286,6 +286,9 @@ class ChildProcessesManager():
j_value = min(j_value, 500) j_value = min(j_value, 500)
cmd.append('%d' % j_value) cmd.append('%d' % j_value)
else:
cmd.append('-l')
cmd.append('%d' % os.cpu_count())
cmd += ['-C', build_dir, target] cmd += ['-C', build_dir, target]
return self.RunSubprocess(cmd, pipe_stdout=pipe_stdout) return self.RunSubprocess(cmd, pipe_stdout=pipe_stdout)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment