Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0c37e2786cf653a5cfdb16f53791dfaca3b25d81
      
https://github.com/WebKit/WebKit/commit/0c37e2786cf653a5cfdb16f53791dfaca3b25d81
  Author: Ben Nham <[email protected]>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M Source/WebKit/Scripts/process-entitlements.sh

  Log Message:
  -----------
  Give GPUProcess the extended VA entitlement
https://bugs.webkit.org/show_bug.cgi?id=290882
rdar://148103832

Reviewed by Per Arne Vollan.

On embedded, there is a limited amount of virtual address space available to a 
process even though
we have 64 bit pointers. We are seeing some GPUProcess crashes where the 
footprint of GPUProcess is
low, but its VA space usage is high especially in the VM_ALLOCATE region 
(untagged
mmap/vm_allocated). From what we can tell, the main driver of VM_ALLOCATE usage 
is WebContent
IPC'ing buffers (like decoded images or video frames) to GPUProcess. These 
buffers are charged to
the WebContent process in terms of footprint, but they still use up VA space in 
GPUProcess.

We then see GPUProcess running out of VA space and libpas not being able to 
allocate any malloc
memory, which takes down all of GPUProcess and which is catastrophic. Instead, 
let's give GPUProcess
the extended VA entitlement; in theory, jetsam can kill any offending 
WebContent process that is
sending too many buffers to GPUProcess and only the bad WebContent process will 
be taken down
instead of the entire GPUProcess.

* Source/WebKit/Scripts/process-entitlements.sh:

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