Title: [113122] trunk/Tools
Revision
113122
Author
[email protected]
Date
2012-04-03 18:40:39 -0700 (Tue, 03 Apr 2012)

Log Message

[Chromium] Lots of timeouts causing Mac10.6 to exit early.
https://bugs.webkit.org/show_bug.cgi?id=83076

Unreviewed, build fix (slightly reviewed by Simon Fraser and Eric Seidel, but not approved).

Add logic to the apple mac and chromium mac code to not use
too many workers; it looks like the xserves (and possibly mac
pros) count hyperthreaded cores when they really shouldn't and
we end up using too many workers at a time; this leads to tests
thrashing and timing out.

This change is a temporary fix to make the bots happy while I
look into more profiling and other fixes.

* Scripts/webkitpy/layout_tests/port/mac.py:
(ChromiumMacPort.default_child_processes):

* Scripts/webkitpy/layout_tests/port/chromium_mac.py:
(ChromiumMacPort.default_child_processes):

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (113121 => 113122)


--- trunk/Tools/ChangeLog	2012-04-04 01:38:46 UTC (rev 113121)
+++ trunk/Tools/ChangeLog	2012-04-04 01:40:39 UTC (rev 113122)
@@ -1,3 +1,25 @@
+2012-04-03  Dirk Pranke  <[email protected]>
+
+        [Chromium] Lots of timeouts causing Mac10.6 to exit early.
+        https://bugs.webkit.org/show_bug.cgi?id=83076
+
+        Unreviewed, build fix (slightly reviewed by Simon Fraser and Eric Seidel, but not approved).
+
+        Add logic to the apple mac and chromium mac code to not use
+        too many workers; it looks like the xserves (and possibly mac
+        pros) count hyperthreaded cores when they really shouldn't and
+        we end up using too many workers at a time; this leads to tests
+        thrashing and timing out.
+
+        This change is a temporary fix to make the bots happy while I
+        look into more profiling and other fixes.
+
+        * Scripts/webkitpy/layout_tests/port/mac.py:
+        (ChromiumMacPort.default_child_processes):
+
+        * Scripts/webkitpy/layout_tests/port/chromium_mac.py:
+        (ChromiumMacPort.default_child_processes):
+
 2012-04-03  Simon Fraser  <[email protected]>
 
         WebKitTestRunner's EventSender is leaky

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_mac.py (113121 => 113122)


--- trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_mac.py	2012-04-04 01:38:46 UTC (rev 113121)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/chromium_mac.py	2012-04-04 01:40:39 UTC (rev 113122)
@@ -105,6 +105,16 @@
     def operating_system(self):
         return 'mac'
 
+    def default_child_processes(self):
+        # FIXME: As a temporary workaround while we figure out what's going
+        # on with https://bugs.webkit.org/show_bug.cgi?id=83076, reduce by
+        # half the # of workers we run by default on bigger machines.
+        default_count = super(ChromiumMacPort, self).default_child_processes()
+        if default_count >= 8:
+            cpu_count = self._executive.cpu_count()
+            return max(1, min(default_count, int(cpu_count / 2)))
+        return default_count
+
     #
     # PROTECTED METHODS
     #

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/mac.py (113121 => 113122)


--- trunk/Tools/Scripts/webkitpy/layout_tests/port/mac.py	2012-04-04 01:38:46 UTC (rev 113121)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/mac.py	2012-04-04 01:40:39 UTC (rev 113122)
@@ -107,8 +107,16 @@
         if self.is_snowleopard():
             _log.warn("Cannot run tests in parallel on Snow Leopard due to rdar://problem/10621525.")
             return 1
-        return super(MacPort, self).default_child_processes()
 
+        # FIXME: As a temporary workaround while we figure out what's going
+        # on with https://bugs.webkit.org/show_bug.cgi?id=83076, reduce by
+        # half the # of workers we run by default on bigger machines.
+        default_count = super(MacPort, self).default_child_processes()
+        if default_count >= 8:
+            cpu_count = self._executive.cpu_count()
+            return max(1, min(default_count, int(cpu_count / 2)))
+        return default_count
+
     def _build_java_test_support(self):
         java_tests_path = self._filesystem.join(self.layout_tests_dir(), "java")
         build_java = ["/usr/bin/make", "-C", java_tests_path]
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to