{
  "slug": "rwf-hipri",
  "term": "RWF_HIPRI",
  "aliases": [],
  "definition": "RWF_HIPRI is a Linux per-operation flag permitting completion polling for eligible direct I/O.",
  "note": "The flag is documented since Linux 4.6 for preadv2/pwritev2 on O_DIRECT descriptors. Unlike RWF_NOWAIT, it does not request an immediate result when a read would need to wait. [hipri-api]\n\nIn Linux v6.14, the VFS iterator path initializes a synchronous kiocb. The iomap submission helper marks a BIO for polling only when IOCB_HIPRI is set and that kiocb is not synchronous. A synchronous request reaching this helper therefore cannot take that polling branch. Acceptance of the flag is not evidence that polling occurred. [hipri-vfs] [hipri-kiocb] [hipri-iomap]",
  "related": [
    "direct-io",
    "io-completion-polling",
    "rwf-nowait",
    "io-uring"
  ],
  "citations": [
    {
      "id": "hipri-api",
      "title": "Linux man-pages 6.19: readv(2), RWF_HIPRI and RWF_NOWAIT",
      "url": "https://man7.org/linux/man-pages/man2/readv.2.html",
      "accessed": "2026-11-10"
    },
    {
      "id": "hipri-vfs",
      "title": "Linux v6.14: do_iter_readv_writev and preadv2/pwritev2 dispatch",
      "url": "https://github.com/torvalds/linux/blob/v6.14/fs/read_write.c",
      "accessed": "2026-11-10"
    },
    {
      "id": "hipri-kiocb",
      "title": "Linux v6.14: init_sync_kiocb, is_sync_kiocb and kiocb_set_rw_flags",
      "url": "https://github.com/torvalds/linux/blob/v6.14/include/linux/fs.h",
      "accessed": "2026-11-10"
    },
    {
      "id": "hipri-iomap",
      "title": "Linux v6.14: iomap_dio_submit_bio polling eligibility",
      "url": "https://github.com/torvalds/linux/blob/v6.14/fs/iomap/direct-io.c",
      "accessed": "2026-11-10"
    },
    {
      "id": "hesela-hipri",
      "title": "Hesela: distinguish completion polling from submission polling and NOWAIT",
      "url": "https://hesela.com/analyses/o-direct-alignment-by-kernel/#completion-polling",
      "accessed": "2026-11-10"
    }
  ],
  "status": "shipping",
  "advantages": [],
  "limitations": [
    "The flag alone supplies no durability contract or guaranteed latency reduction."
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-11-10",
  "provenance": [
    "The implementation trace is pinned to Linux v6.14; it is not a hardware measurement or a claim about every filesystem and kernel. [hipri-vfs] [hipri-kiocb] [hipri-iomap]"
  ]
}
