raise partial scavenge interval on x86-64
authorsbarati@apple.com <sbarati@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 12 Apr 2018 02:44:06 +0000 (02:44 +0000)
committersbarati@apple.com <sbarati@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 12 Apr 2018 02:44:06 +0000 (02:44 +0000)
https://bugs.webkit.org/show_bug.cgi?id=184521

Rubber-stamped by Filip Pizlo.

This patch is an attempt to recover the 1-3% JetStream regression
my initial partial scavenging patch introduced on some Macs.

* bmalloc/Scavenger.cpp:
(bmalloc::Scavenger::threadRunLoop):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230553 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/bmalloc/ChangeLog
Source/bmalloc/bmalloc/Scavenger.cpp

index 4aa08e0..8791ee3 100644 (file)
@@ -1,3 +1,16 @@
+2018-04-11  Saam Barati  <sbarati@apple.com>
+
+        raise partial scavenge interval on x86-64
+        https://bugs.webkit.org/show_bug.cgi?id=184521
+
+        Rubber-stamped by Filip Pizlo.
+
+        This patch is an attempt to recover the 1-3% JetStream regression
+        my initial partial scavenging patch introduced on some Macs.
+
+        * bmalloc/Scavenger.cpp:
+        (bmalloc::Scavenger::threadRunLoop):
+
 2018-04-10  Saam Barati  <sbarati@apple.com>
 
         IsoHeapImpl::scavenge* needs to grab the lock
index 66fc75a..aad6061 100644 (file)
@@ -407,7 +407,12 @@ void Scavenger::threadRunLoop()
                 return ScavengeMode::Full;
             }
 
-            if (timeSinceLastScavenge < std::chrono::milliseconds(8000)) {
+#if BCPU(X86_64)
+            auto partialScavengeInterval = std::chrono::milliseconds(20000);
+#else
+            auto partialScavengeInterval = std::chrono::milliseconds(8000);
+#endif
+            if (timeSinceLastScavenge < partialScavengeInterval) {
                 // Rate limit partial scavenges.
                 return ScavengeMode::None;
             }