Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 39cca367b0f91ba76f28b795fbd56fa2a113ebe0
https://github.com/WebKit/WebKit/commit/39cca367b0f91ba76f28b795fbd56fa2a113ebe0
Author: Ben Nham <[email protected]>
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
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes