RESOLVED FIXED290211
Stop using IOChannel in NetworkCache
https://bugs.webkit.org/show_bug.cgi?id=290211
Summary Stop using IOChannel in NetworkCache
Ben Nham
Reported 2025-03-21 13:39:00 PDT
We've seen sporadic logs of page loads taking minutes to complete when the system is under load. The logs are showing that the disk cache lookup in NetworkProcess is getting preempted for minutes and it's being serviced on a default overcommit dispatch queue at priority 4. We think this might be because we're using dispatch_io to read the records, which internally basically parks a thread on the overcommit queue in pread and somehow the priority propagation isn't always working and sometimes leading to the pread being stuck and preempted at pri 4. Since dispatch_io is basically buying us nothing here other than using more threads and making it harder to follow what's going on, we should probably just stop using it and instead make I/O syscalls directly on the network cache's I/O queue.
Attachments
Ben Nham
Comment 1 2025-03-21 13:39:01 PDT
Ben Nham
Comment 2 2025-03-21 13:46:53 PDT
EWS
Comment 3 2025-03-23 21:49:41 PDT
Committed 292576@main (0b589ff5c2f2): <https://commits.webkit.org/292576@main> Reviewed commits have been landed. Closing PR #42840 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.