<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Asynchronous I/O on Nalar</title>
    <link>https://nalar.dev/tags/asynchronous-i/o/</link>
    <description>Recent content in Asynchronous I/O on Nalar</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 19 Sep 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://nalar.dev/tags/asynchronous-i/o/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>io_uring Linked Requests Encode Dependency in Submission Order</title>
      <link>https://nalar.dev/io-uring-linked-requests-encode-dependency-in-submission-order/</link>
      <pubDate>Sat, 19 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/io-uring-linked-requests-encode-dependency-in-submission-order/</guid>
      <description>&lt;p&gt;An &lt;code&gt;io_uring&lt;/code&gt; submission queue can contain many operations at once, but not every operation has to be independent. Setting &lt;code&gt;IOSQE_IO_LINK&lt;/code&gt; on a submission queue entry binds it to the next entry, forming a chain in which execution order and failure propagation become part of the kernel-visible request structure.&lt;/p&gt;&#xA;&lt;p&gt;That changes the contract compared with submitting two unrelated SQEs and coordinating them after completion. A linked chain expresses dependency before the kernel starts processing the operations. The distinction matters when a later request is valid only after an earlier request has completed, or when failure of one stage should prevent the remaining stages from running.&lt;/p&gt;</description>
    </item>
    <item>
      <title>io_uring Links Serialize Dependent Requests</title>
      <link>https://nalar.dev/io-uring-links-serialize-dependent-requests/</link>
      <pubDate>Fri, 18 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/io-uring-links-serialize-dependent-requests/</guid>
      <description>&lt;p&gt;Two adjacent &lt;code&gt;io_uring&lt;/code&gt; submission queue entries are normally independent requests. Setting &lt;code&gt;IOSQE_IO_LINK&lt;/code&gt; on the first changes that relationship: the next request does not start before the linked request completes. Repeating the flag forms an ordered chain inside one submission batch.&lt;/p&gt;&#xA;&lt;p&gt;The ordering property is narrower than global queue serialization. Requests outside the chain can still run independently, and separate chains can overlap. A link therefore expresses dependency between specific SQEs rather than imposing a barrier on the entire ring.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
