{
  "slug": "posix-fadv-dontneed",
  "term": "POSIX_FADV_DONTNEED",
  "aliases": [
    "FADV_DONTNEED"
  ],
  "definition": "POSIX_FADV_DONTNEED is a file-access advice value requesting release of cached data that the application does not expect to access soon.",
  "note": "Unwritten dirty pages are not freed, and partial pages are generally retained. The v6.14 generic implementation additionally permits the final partial page when the advised inclusive end is the last file byte; filesystem-specific implementations may differ. [fadvise-api] [fadvise-source] A successful call does not prove eviction or durable completion; posix_fadvise returns an error number directly on failure. [fadvise-api]",
  "advantages": [
    "Targets a file range rather than dropping system-wide caches."
  ],
  "limitations": [
    "Eviction remains best effort and concurrent access can repopulate the cache."
  ],
  "related": [
    "buffered-io",
    "page-cache",
    "posix-fadv-noreuse",
    "rwf-dontcache",
    "fsync"
  ],
  "citations": [
    {
      "id": "fadvise-api",
      "label": "posix_fadvise(2)",
      "title": "Linux man-pages 6.19: posix_fadvise(2), advice semantics and return values.",
      "url": "https://man7.org/linux/man-pages/man2/posix_fadvise.2.html",
      "accessed": "2026-10-15"
    },
    {
      "id": "fadvise-source",
      "label": "Linux v6.14 fadvise",
      "title": "Linux v6.14 mm/fadvise.c: generic_fadvise, including the end-of-file partial-page exception.",
      "url": "https://github.com/torvalds/linux/blob/v6.14/mm/fadvise.c",
      "accessed": "2026-10-15"
    }
  ],
  "status": "shipping",
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-15"
}
