{
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-21",
  "slug": "io-scheduler",
  "term": "I/O scheduler",
  "aliases": [
    "Linux I/O scheduler",
    "block I/O scheduler"
  ],
  "definition": "An I/O scheduler is a host block-layer policy that selects or regulates pending request dispatch to a storage device.",
  "note": "Selection: Linux exposes the available choices and brackets the active one in /sys/block/<device>/queue/scheduler. The iosched directory holds scheduler-specific settings. The choice applies to a device queue, not to every drive in a system. [switch]\n\nThe none selection removes the elevator policy, not the block layer or the device's own scheduling. [elevator] The block layer does not guarantee completion order. [blk-mq]\n\nA scheduler setting does not replace the write-cache flush and FUA mechanisms needed for persistence. [cache-control]",
  "related": [
    "blk-mq",
    "mq-deadline",
    "bfq",
    "kyber",
    "queue-depth",
    "cache-flush"
  ],
  "citations": [
    {
      "id": "switch",
      "title": "Linux 6.16: Switching Scheduler",
      "url": "https://docs.kernel.org/6.16/block/switching-sched.html",
      "accessed": "2026-10-21"
    },
    {
      "id": "elevator",
      "title": "Linux v6.16: elevator.c, elevator_switch and the none selection",
      "url": "https://github.com/torvalds/linux/blob/v6.16/block/elevator.c",
      "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": "blk-mq",
      "title": "Linux 6.16: Multi-Queue Block IO Queueing Mechanism",
      "url": "https://docs.kernel.org/6.16/block/blk-mq.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"
    }
  ]
}
