{
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-21",
  "slug": "kyber",
  "term": "Kyber I/O scheduler",
  "aliases": [
    "Kyber"
  ],
  "definition": "Kyber is a Linux I/O scheduler that adjusts request-domain concurrency using measured latency and configured targets.",
  "note": "Mechanism: Device-wide tokens bound outstanding requests in each domain. In Linux v6.16, latency feedback changes domain depths, using device-I/O and total block-request latency distributions. A target is a control input, not a deadline for every request or an application latency guarantee. [kyber]\n\nFor requests handled by Kyber in v6.16, REQ_OP_WRITE selects the write domain regardless of the synchronous flag. Reserving request capacity for synchronous traffic is a separate mechanism. Neither classification establishes persistence after power loss. [kyber] [cache-control]\n\nMeasurement scope: The v6.16 feedback loop uses histogram-bucket estimates of device-I/O p90 for congestion detection and total block-request p99 for depth adjustment. These populations are not application or fsync latency distributions. [kyber]",
  "provenance": [
    "Scoped to Linux v6.16. The tunable documentation describes synchronous-write latency, whereas kyber_sched_domain classifies all REQ_OP_WRITE requests together. Implementation scope is stated explicitly. [kyber-doc] [kyber]"
  ],
  "related": [
    "io-scheduler",
    "blk-mq",
    "queue-depth",
    "tail-latency"
  ],
  "citations": [
    {
      "id": "kyber",
      "title": "Linux v6.16: kyber-iosched.c, domain selection and latency feedback",
      "url": "https://github.com/torvalds/linux/blob/v6.16/block/kyber-iosched.c",
      "accessed": "2026-10-21"
    },
    {
      "id": "kyber-doc",
      "title": "Linux 6.16: Kyber I/O scheduler tunables",
      "url": "https://docs.kernel.org/6.16/block/kyber-iosched.html",
      "accessed": "2026-10-21"
    },
    {
      "id": "cache-control",
      "title": "Linux 6.16: Explicit volatile write back cache control",
      "url": "https://docs.kernel.org/6.16/block/writeback_cache_control.html",
      "accessed": "2026-10-21"
    },
    {
      "id": "hesela",
      "title": "Hesela: Sharing an SSD: who pays for the slowdown?",
      "url": "https://hesela.com/analyses/ssd-fairness-shared-queues/",
      "accessed": "2026-10-21"
    }
  ]
}
