Title: [276646] trunk/Tools
Revision
276646
Author
[email protected]
Date
2021-04-27 10:40:34 -0700 (Tue, 27 Apr 2021)

Log Message

[JSC] Autoscale jobs for remote boards
https://bugs.webkit.org/show_bug.cgi?id=225100

Reviewed by Mark Lam.

When using --gnu-parallel-runner, let GNU parallel handle the number of jobs
unless the user has explicitly requested a specific number of remote processes.

Previously, run-jsc-stress-tests would set numChildProcesses by querying the
first remote, under the assumption that the remotes are homogeneous. The number
of jobs inferred by looking at the CPUs of the first remote may be
inappropriate for the rest of the remotes.

* Scripts/run-jsc-stress-tests:

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (276645 => 276646)


--- trunk/Tools/ChangeLog	2021-04-27 17:18:16 UTC (rev 276645)
+++ trunk/Tools/ChangeLog	2021-04-27 17:40:34 UTC (rev 276646)
@@ -1,3 +1,20 @@
+2021-04-27  Angelos Oikonomopoulos  <[email protected]>
+
+        [JSC] Autoscale jobs for remote boards
+        https://bugs.webkit.org/show_bug.cgi?id=225100
+
+        Reviewed by Mark Lam.
+
+        When using --gnu-parallel-runner, let GNU parallel handle the number of jobs
+        unless the user has explicitly requested a specific number of remote processes.
+
+        Previously, run-jsc-stress-tests would set numChildProcesses by querying the
+        first remote, under the assumption that the remotes are homogeneous. The number
+        of jobs inferred by looking at the CPUs of the first remote may be
+        inappropriate for the rest of the remotes.
+
+        * Scripts/run-jsc-stress-tests:
+
 2021-04-27  Don Olmstead  <[email protected]>
 
         [CMake] Don't use FORWARDING_HEADERS_DIR for GTK WebKit headers

Modified: trunk/Tools/Scripts/run-jsc-stress-tests (276645 => 276646)


--- trunk/Tools/Scripts/run-jsc-stress-tests	2021-04-27 17:18:16 UTC (rev 276645)
+++ trunk/Tools/Scripts/run-jsc-stress-tests	2021-04-27 17:40:34 UTC (rev 276646)
@@ -134,6 +134,7 @@
 $reportExecutionTime = false
 $ldd = nil
 $artifact_exec_wrapper = nil
+$numChildProcessesSetByUser = false
 
 def usage
     puts "run-jsc-stress-tests -j <shell path> <collections path> [<collections path> ...]"
@@ -264,6 +265,7 @@
         $reportExecutionTime = true
     when '--child-processes'
         $numChildProcesses = arg.to_i
+        $numChildProcessesSetByUser = true
     when '--filter'
         $filter = Regexp.new(arg)
     when '--arch'
@@ -2315,6 +2317,7 @@
 if !$numChildProcesses
     if ENV["WEBKIT_TEST_CHILD_PROCESSES"]
         $numChildProcesses = ENV["WEBKIT_TEST_CHILD_PROCESSES"].to_i
+        $numChildProcessesSetByUser = true
     else
         $numChildProcesses = numberOfProcessors
     end
@@ -2499,11 +2502,12 @@
     if ENV["JSCTEST_timeout"]
         timeout = ENV["JSCTEST_timeout"].to_f.ceil.to_i
     end
-    # We add 1 to make sure we always have waiting jobs and
-    # don't run into stalls due to ssh latency. However, we
-    # want to respect numChildProcesses, so we don't just use
-    # the -j +1 GNU parallel idiom.
-    parallelJobsOnEachHost = $numChildProcesses + 1
+    # Keep ncpus + 1 jobs running by default to avoid any stalls due
+    # to ssh latency.
+    parallelJobsOnEachHost = "+1"
+    if $numChildProcessesSetByUser
+        parallelJobsOnEachHost = $numChildProcesses
+    end
     if options[:parallelJobsOnEachHost]
       parallelJobsOnEachHost = options[:parallelJobsOnEachHost]
     end
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to