cache-ext · research · also cachebpf, Custom Page Cache Eviction Policies with eBPF

cache_ext

cache_ext is a research framework for application-specific Linux page-cache eviction and admission policies implemented with eBPF.

Policy functions operate on eviction lists and use application information to choose cache contents. Policies are scoped to cgroups; this is not a separate private copy of every file page. [1]

The artifact requires a modified Linux 6.6.8 kernel, supporting BPF tools and application components. Avoiding further kernel edits when writing a policy does not remove that prerequisite. This artifact is not an installation recipe for an unmodified distribution kernel. [2]

The 2026 presentation still identifies live policy switching and cgroup lifetime management as open questions. Policy isolation is not a guarantee of latency, fairness or durable writes. [3]

Relations

related
Page cache, Cache pollution, Cache admission, SIEVE cache eviction, S3-FIFO, POSIX_FADV_DONTNEED

Advantages

  • Lets applications supply information about foreground reads and background scans to cache policy. [3]

Limitations

  • Reported gains depend on the selected workload and policy, not a universal cache speedup. [3]
  • Reproducing the artifact needs its patched-kernel environment. [2]

Citations

  1. Zussman et al. cache_ext: Customizing the Page Cache with eBPF. SOSP 2025, pp. 462-478; sections 4-6. DOI 10.1145/3731569.3764820. (accessed 2026-11-09)
  2. cache_ext artifact README at commit 6c3b8a0: patched Linux 6.6.8, components and reproduction setup. (accessed 2026-11-09)
  3. Cheng et al. cache_ext, LSF/MM/BPF 2026 slides: per-cgroup hooks, workload separation and open integration questions. (accessed 2026-11-09)

Further reading

  1. Hesela: cache_ext prerequisites and the GET/SCAN trade-off. (accessed 2026-11-09)
Sources & caveats
  • Source synthesis, not a Hesela kernel benchmark or reproduction of the authors' experiment.
  • The February 2025 preprint used cachebpf; the SOSP 2025 publication and artifact use cache_ext. One identity retains both search names.
  • Pinned artifact commit 6c3b8a0df790c3182a4f6cab33f3e4db23d6f813. No kernel or benchmark installation was performed.

JSON: /data/terms/cache-ext.json

Published by Hesela team · Updated

Report a correction · Editorial standards · Reuse guidance

Cite this page
Hesela team. cache_ext. Hesela. 2026-11-09. https://hesela.dev/terms/cache-ext/