<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>290211</bug_id>
          
          <creation_ts>2025-03-21 13:39:00 -0700</creation_ts>
          <short_desc>Stop using IOChannel in NetworkCache</short_desc>
          <delta_ts>2025-03-23 21:49:43 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ben Nham">nham</reporter>
          <assigned_to name="Ben Nham">nham</assigned_to>
          <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2105119</commentid>
    <comment_count>0</comment_count>
    <who name="Ben Nham">nham</who>
    <bug_when>2025-03-21 13:39:00 -0700</bug_when>
    <thetext>We&apos;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&apos;s being serviced on a default overcommit dispatch queue at priority 4. We think this might be because we&apos;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&apos;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&apos;s going on, we should probably just stop using it and instead make I/O syscalls directly on the network cache&apos;s I/O queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2105120</commentid>
    <comment_count>1</comment_count>
    <who name="Ben Nham">nham</who>
    <bug_when>2025-03-21 13:39:01 -0700</bug_when>
    <thetext>&lt;rdar://problem/142645876&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2105124</commentid>
    <comment_count>2</comment_count>
    <who name="Ben Nham">nham</who>
    <bug_when>2025-03-21 13:46:53 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/42840</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2105492</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2025-03-23 21:49:41 -0700</bug_when>
    <thetext>Committed 292576@main (0b589ff5c2f2): &lt;https://commits.webkit.org/292576@main&gt;

Reviewed commits have been landed. Closing PR #42840 and removing active labels.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>