[webkit-changes] [WebKit/WebKit] 96038a: Make aggressive suspension on memory pressure thre...

bnham noreply at github.com
Tue Dec 10 09:45:14 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 96038ad69f61fbe76b76256503b9b83e2b244173
      https://github.com/WebKit/WebKit/commit/96038ad69f61fbe76b76256503b9b83e2b244173
  Author: Ben Nham <nham at apple.com>
  Date:   2024-12-10 (Tue, 10 Dec 2024)

  Changed paths:
    M Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp
    M Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h
    M Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h
    M Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm
    M Source/WebKit/UIProcess/WebProcessPool.cpp
    M Source/WebKit/UIProcess/WebProcessPool.h

  Log Message:
  -----------
  Make aggressive suspension on memory pressure threshold configurable
https://bugs.webkit.org/show_bug.cgi?id=284306
rdar://141165580

Reviewed by Ryan Reno.

To make it easier to experiment with aggressively suspending on memory pressure, make all of the
tunables (including the memory pressure threshold at which to begin aggressively suspending)
configurable. This makes it easier to experiment with tuning the policy.

As part of this, rename the property from suspendsWebProcessesAggressivelyOnCriticalMemoryPressure
to suspendsWebProcessesAggressivelyOnMemoryPressure, since the threshold is now configurable.

* Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::copy):
* Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
(-[_WKProcessPoolConfiguration suspendsWebProcessesAggressivelyOnMemoryPressure]):
(-[_WKProcessPoolConfiguration setSuspendsWebProcessesAggressivelyOnMemoryPressure:]):
(-[_WKProcessPoolConfiguration suspendsWebProcessesAggressivelyOnCriticalMemoryPressure]): Deleted.
(-[_WKProcessPoolConfiguration setSuspendsWebProcessesAggressivelyOnCriticalMemoryPressure:]): Deleted.
* Source/WebKit/UIProcess/WebProcessPool.cpp:
(WebKit::memoryPressureCheckInterval):
(WebKit::systemMemoryPressureStatus):
(WebKit::shouldSuspendAggressivelyBasedOnSystemMemoryPressureStatus):
(WebKit::WebProcessPool::checkMemoryPressureStatus):
(WebKit::WebProcessPool::webProcessSuspensionDelay const):
(WebKit::WebProcessPool::memoryPressureStatusChangedForProcess):
(WebKit::criticalMemoryPressureCheckInterval): Deleted.
(WebKit::isSystemUnderCriticalMemoryPressure): Deleted.
* Source/WebKit/UIProcess/WebProcessPool.h:

Canonical link: https://commits.webkit.org/287612@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list