[webkit-changes] [WebKit/WebKit] fcb007: Disable BackgroundProcessResponsivenessTimer when ...

bnham noreply at github.com
Fri Dec 6 19:31:49 PST 2024


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

  Changed paths:
    M Source/WebKit/UIProcess/BackgroundProcessResponsivenessTimer.cpp

  Log Message:
  -----------
  Disable BackgroundProcessResponsivenessTimer when RunningBoard throttling is enabled
https://bugs.webkit.org/show_bug.cgi?id=284206
rdar://141073619

Reviewed by Brady Eidson.

It looks like BackgroundProcessResponsivenessTimer is causing spurious background process kills on
oversubscribed systems. There is a comment in this class saying that it is already disabled on iOS
because we use RunningBoard on iOS to manage processes, and there is a good chance that the
background process is suspended, so the check is just unnecessary work. This is true on macOS as
well--we've been using RunningBoard to manage processes on macOS for years. So let's just
disable this class on macOS as well.

We also still have CPUMonitor enabled, so a background process that uses a ton of CPU in the
background but does not suspend will be killed for ProcessTerminationReason::ExceededCPULimit. So
this shouldn't have a practical power impact.

* Source/WebKit/UIProcess/BackgroundProcessResponsivenessTimer.cpp:
(WebKit::BackgroundProcessResponsivenessTimer::shouldBeActive const):

Canonical link: https://commits.webkit.org/287489@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