Title: [276779] trunk/Source
Revision
276779
Author
[email protected]
Date
2021-04-29 09:26:38 -0700 (Thu, 29 Apr 2021)

Log Message

Unreviewed, reverting r276619.

Source/WebKit:

Causes multiple regressions on perf bots, as multiple tests test hot page loads in
WebContent processes that are in the process cache. Dropping the memory cache in those
processes caused multiple benchmarks to regress.

Reverted changeset:

"Reduce memory footprint for background tabs"
https://bugs.webkit.org/show_bug.cgi?id=225007
https://commits.webkit.org/r276619

Source/WTF:

Causes multiple regressions on perf bots.

Reverted changeset:

"Reduce memory footprint for background tabs"
https://bugs.webkit.org/show_bug.cgi?id=225007
https://commits.webkit.org/r276619

Modified Paths

Diff

Modified: trunk/Source/WTF/ChangeLog (276778 => 276779)


--- trunk/Source/WTF/ChangeLog	2021-04-29 16:17:49 UTC (rev 276778)
+++ trunk/Source/WTF/ChangeLog	2021-04-29 16:26:38 UTC (rev 276779)
@@ -1,3 +1,15 @@
+2021-04-29  Ben Nham  <[email protected]>
+
+        Unreviewed, reverting r276619.
+
+        Causes multiple regressions on perf bots.
+
+        Reverted changeset:
+
+        "Reduce memory footprint for background tabs"
+        https://bugs.webkit.org/show_bug.cgi?id=225007
+        https://commits.webkit.org/r276619
+
 2021-04-28  Devin Rousso  <[email protected]>
 
         experiment with averaging sampling colors across the top of the page as the scroll area background

Modified: trunk/Source/WTF/wtf/PlatformEnableCocoa.h (276778 => 276779)


--- trunk/Source/WTF/wtf/PlatformEnableCocoa.h	2021-04-29 16:17:49 UTC (rev 276778)
+++ trunk/Source/WTF/wtf/PlatformEnableCocoa.h	2021-04-29 16:26:38 UTC (rev 276779)
@@ -390,10 +390,6 @@
 #define ENABLE_NETWORK_CACHE_STALE_WHILE_REVALIDATE 1
 #endif
 
-#if !defined(ENABLE_NON_VISIBLE_WEBPROCESS_MEMORY_CLEANUP_TIMER) && (PLATFORM(MAC) || PLATFORM(MACCATALYST))
-#define ENABLE_NON_VISIBLE_WEBPROCESS_MEMORY_CLEANUP_TIMER 1
-#endif
-
 #if !defined(ENABLE_NOTIFICATIONS) && PLATFORM(MAC)
 #define ENABLE_NOTIFICATIONS 1
 #endif

Modified: trunk/Source/WebKit/ChangeLog (276778 => 276779)


--- trunk/Source/WebKit/ChangeLog	2021-04-29 16:17:49 UTC (rev 276778)
+++ trunk/Source/WebKit/ChangeLog	2021-04-29 16:26:38 UTC (rev 276779)
@@ -1,3 +1,17 @@
+2021-04-29  Ben Nham  <[email protected]>
+
+        Unreviewed, reverting r276619.
+
+        Causes multiple regressions on perf bots, as multiple tests test hot page loads in
+        WebContent processes that are in the process cache. Dropping the memory cache in those
+        processes caused multiple benchmarks to regress.
+
+        Reverted changeset:
+
+        "Reduce memory footprint for background tabs"
+        https://bugs.webkit.org/show_bug.cgi?id=225007
+        https://commits.webkit.org/r276619
+
 2021-04-29  Chris Dumez  <[email protected]>
 
         Improve local storage size estimation for quota limitation

Modified: trunk/Source/WebKit/WebProcess/WebProcess.cpp (276778 => 276779)


--- trunk/Source/WebKit/WebProcess/WebProcess.cpp	2021-04-29 16:17:49 UTC (rev 276778)
+++ trunk/Source/WebKit/WebProcess/WebProcess.cpp	2021-04-29 16:26:38 UTC (rev 276779)
@@ -230,14 +230,8 @@
 static const Seconds plugInAutoStartExpirationTimeUpdateThreshold { 29 * 24 * 60 * 60 };
 
 // This should be greater than tileRevalidationTimeout in TileController.
-static const Seconds nonVisibleProcessGraphicsCleanupDelay { 10_s };
+static const Seconds nonVisibleProcessCleanupDelay { 10_s };
 
-#if ENABLE(NON_VISIBLE_WEBPROCESS_MEMORY_CLEANUP_TIMER)
-// This should be long enough to support a workload where a user is actively switching between multiple tabs,
-// since our memory cleanup routine could potentially delete a good amount of JIT code.
-static const Seconds nonVisibleProcessMemoryCleanupDelay { 120_s };
-#endif
-
 namespace WebKit {
 using namespace JSC;
 using namespace WebCore;
@@ -271,10 +265,7 @@
 #if ENABLE(NETSCAPE_PLUGIN_API)
     , m_pluginProcessConnectionManager(PluginProcessConnectionManager::create())
 #endif
-    , m_nonVisibleProcessGraphicsCleanupTimer(*this, &WebProcess::nonVisibleProcessGraphicsCleanupTimerFired)
-#if ENABLE(NON_VISIBLE_WEBPROCESS_MEMORY_CLEANUP_TIMER)
-    , m_nonVisibleProcessMemoryCleanupTimer(*this, &WebProcess::nonVisibleProcessMemoryCleanupTimerFired)
-#endif
+    , m_nonVisibleProcessCleanupTimer(*this, &WebProcess::nonVisibleProcessCleanupTimerFired)
 #if PLATFORM(IOS_FAMILY)
     , m_webSQLiteDatabaseTracker([this](bool isHoldingLockedFiles) { parentProcessConnection()->send(Messages::WebProcessProxy::SetIsHoldingLockedFiles(isHoldingLockedFiles), 0); })
 #endif
@@ -1563,11 +1554,7 @@
 void WebProcess::pageDidEnterWindow(PageIdentifier pageID)
 {
     m_pagesInWindows.add(pageID);
-    m_nonVisibleProcessGraphicsCleanupTimer.stop();
-
-#if ENABLE(NON_VISIBLE_WEBPROCESS_MEMORY_CLEANUP_TIMER)
-    m_nonVisibleProcessMemoryCleanupTimer.stop();
-#endif
+    m_nonVisibleProcessCleanupTimer.stop();
 }
 
 void WebProcess::pageWillLeaveWindow(PageIdentifier pageID)
@@ -1574,18 +1561,11 @@
 {
     m_pagesInWindows.remove(pageID);
 
-    if (m_pagesInWindows.isEmpty()) {
-        if (!m_nonVisibleProcessGraphicsCleanupTimer.isActive())
-            m_nonVisibleProcessGraphicsCleanupTimer.startOneShot(nonVisibleProcessGraphicsCleanupDelay);
-
-#if ENABLE(NON_VISIBLE_WEBPROCESS_MEMORY_CLEANUP_TIMER)
-        if (!m_nonVisibleProcessMemoryCleanupTimer.isActive())
-            m_nonVisibleProcessMemoryCleanupTimer.startOneShot(nonVisibleProcessMemoryCleanupDelay);
-#endif
-    }
+    if (m_pagesInWindows.isEmpty() && !m_nonVisibleProcessCleanupTimer.isActive())
+        m_nonVisibleProcessCleanupTimer.startOneShot(nonVisibleProcessCleanupDelay);
 }
     
-void WebProcess::nonVisibleProcessGraphicsCleanupTimerFired()
+void WebProcess::nonVisibleProcessCleanupTimerFired()
 {
     ASSERT(m_pagesInWindows.isEmpty());
     if (!m_pagesInWindows.isEmpty())
@@ -1596,19 +1576,6 @@
 #endif
 }
 
-#if ENABLE(NON_VISIBLE_WEBPROCESS_MEMORY_CLEANUP_TIMER)
-void WebProcess::nonVisibleProcessMemoryCleanupTimerFired()
-{
-    ASSERT(m_pagesInWindows.isEmpty());
-    if (!m_pagesInWindows.isEmpty())
-        return;
-
-    WebCore::releaseMemory(Critical::Yes, Synchronous::No, WebCore::MaintainBackForwardCache::Yes, WebCore::MaintainMemoryCache::No);
-    for (auto& page : m_pageMap.values())
-        page->releaseMemory(Critical::Yes);
-}
-#endif
-
 void WebProcess::registerStorageAreaMap(StorageAreaMap& storageAreaMap)
 {
     ASSERT(storageAreaMap.identifier());

Modified: trunk/Source/WebKit/WebProcess/WebProcess.h (276778 => 276779)


--- trunk/Source/WebKit/WebProcess/WebProcess.h	2021-04-29 16:17:49 UTC (rev 276778)
+++ trunk/Source/WebKit/WebProcess/WebProcess.h	2021-04-29 16:26:38 UTC (rev 276779)
@@ -265,12 +265,8 @@
     void pageDidEnterWindow(WebCore::PageIdentifier);
     void pageWillLeaveWindow(WebCore::PageIdentifier);
 
-    void nonVisibleProcessGraphicsCleanupTimerFired();
+    void nonVisibleProcessCleanupTimerFired();
 
-#if ENABLE(NON_VISIBLE_WEBPROCESS_MEMORY_CLEANUP_TIMER)
-    void nonVisibleProcessMemoryCleanupTimerFired();
-#endif
-
     void registerStorageAreaMap(StorageAreaMap&);
     void unregisterStorageAreaMap(StorageAreaMap&);
     StorageAreaMap* storageAreaMap(StorageAreaIdentifier) const;
@@ -666,12 +662,8 @@
     bool m_processIsSuspended { false };
 
     HashSet<WebCore::PageIdentifier> m_pagesInWindows;
-    WebCore::Timer m_nonVisibleProcessGraphicsCleanupTimer;
+    WebCore::Timer m_nonVisibleProcessCleanupTimer;
 
-#if ENABLE(NON_VISIBLE_WEBPROCESS_MEMORY_CLEANUP_TIMER)
-    WebCore::Timer m_nonVisibleProcessMemoryCleanupTimer;
-#endif
-
     RefPtr<WebCore::ApplicationCacheStorage> m_applicationCacheStorage;
 
 #if PLATFORM(IOS_FAMILY)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to