[webkit-changes] [WebKit/WebKit] 39cca3: Drain suspended process message queues more determ...
bnham
noreply at github.com
Mon Jul 8 05:58:23 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 39cca367b0f91ba76f28b795fbd56fa2a113ebe0
https://github.com/WebKit/WebKit/commit/39cca367b0f91ba76f28b795fbd56fa2a113ebe0
Author: Ben Nham <nham at apple.com>
Date: 2024-07-08 (Mon, 08 Jul 2024)
Changed paths:
M Source/WebKit/Platform/IPC/Connection.cpp
M Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp
M Source/WebKit/UIProcess/AuxiliaryProcessProxy.h
Log Message:
-----------
Drain suspended process message queues more deterministically
https://bugs.webkit.org/show_bug.cgi?id=276301
rdar://131274197
Reviewed by Per Arne Vollan.
When we detect that a message queue for a suspended process has filled up, we currently wake it up
for a fixed 3 second duration. This fixed duration might be too short to drain the message queue,
which somewhat defeats the purpose of the logic, or it might be too long to drain the message queue,
giving the process more runtime than we want.
Instead, we now wake up the process for long enough to handle a MainThreadPing, which lets us know
that the process has drained its message queue up to that point. We provide an additional 1 second
of runtime in case the message handlers do any deferred work.
We also want to be able to better debug these types of issues, so I've added some logging which
prints out the most frequent message that is ending up in the stuck message queues.
* Source/WebKit/Platform/IPC/Connection.cpp:
(IPC::Connection::sendMessageImpl):
* Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp:
(WebKit::AuxiliaryProcessProxy::AuxiliaryProcessProxy):
(WebKit::AuxiliaryProcessProxy::wakeUpTemporarilyForIPC):
* Source/WebKit/UIProcess/AuxiliaryProcessProxy.h:
Canonical link: https://commits.webkit.org/280728@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