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

Reply via email to