{
  "slug": "linux-refault-distance",
  "term": "Linux refault distance",
  "aliases": [
    "refault distance",
    "nonresident-age distance"
  ],
  "definition": "Linux refault distance is the nonresident-age counter difference used to assess reuse after eviction in the classic workingset path.",
  "note": "In Linux v6.12's classic path, evictions and activations advance nonresident age in page units. A shadow entry stores an eviction snapshot; refault compares it with the counter in the eviction memory-cgroup and NUMA-node context. This is not elapsed time or exact distinct-reference reuse distance. [linux612]\n\nThe eligibility comparison depends on file versus anonymous memory and available swap. Multi-Gen LRU uses separate branches, so the classic formula is not a universal Linux replacement rule. [linux612]\n\nShadow timestamps can use coarse buckets, and counter wraparound can make an old entry appear recent. A history match still needs the payload fetched. [linux612]",
  "status": "research",
  "advantages": [],
  "limitations": [],
  "related": [
    "reuse-distance",
    "ghost-cache-entry",
    "clock-pro"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-11-07",
  "citations": [
    {
      "id": "linux612",
      "title": "Linux v6.12 mm/workingset.c: workingset_eviction, workingset_test_recent, workingset_refault and workingset_activation.",
      "url": "https://github.com/torvalds/linux/blob/v6.12/mm/workingset.c",
      "accessed": "2026-11-07"
    }
  ],
  "provenance": [
    "Version-pinned source interpretation; no kernel benchmark or claim about every Linux configuration."
  ]
}
