{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreifvrev3l2eyals54jbwhcc274fl4jdb7vl3frlv4yvx6nqgsslzbi",
    "uri": "at://did:plc:b3tz6srl4ochk2wxn6dv6xpy/app.bsky.feed.post/3mhe2hvto2ee2"
  },
  "path": "/Articles/1062286/",
  "publishedAt": "2026-03-18T14:57:14.000Z",
  "site": "https://lwn.net",
  "tags": [
    "io_uring interface",
    "patch set",
    "been in development"
  ],
  "textContent": "The kernel's asynchronous  io_uring interface maintains two shared ring buffers: a submission queue for sending requests to the kernel, and a completion queue containing the results of those requests. Even with shared memory removing much of the overhead of communicating with user space, there is still some overhead whenever the kernel must switch to user space to give it the opportunity to process completion requests and queue up any subsequent work items. A  patch set from Pavel Begunkov minimizes this overhead by letting programmers extend the io_uring event loop with a BPF program that can enqueue additional work in response to completion events. The patch set has been in development for a long time, but has finally been accepted.",
  "title": "[$] BPF comes to io_uring at last"
}