• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ben-manes / caffeine / 2604
100%

Build:
DEFAULT BRANCH: master
Ran 04 Aug 2020 07:24AM UTC
Jobs 1
Files 76
Run time 22s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
2604

push

travis-ci

ben-manes
Add the Linux page cache (Double Clock) to the simulator

The page cache is used by an operating system to decide what is
data is in-memory or swapped to disk. This includes application
memory and memory-mapped files. Its performance is critical to
the overall system.

Linux uses a LIRS inspired policy, but differs from it significantly.
It uses an SLRU structure (named active and inactive) and adds
non-resident entries (aka ghosts, shadows) to optimistically
promote on a miss if the ghost entry is present and abides by a
simple formula. This formula is a unique idea, where it determines
if the entry could have been in the active region had the miss not
occurred. That is a similar observation as ARC's, except its formula
is to adjust the region sizes whereas this one is for promotion. Linux
decides the region sizes upfront based on the system memory, at 50%
split baseline and a smaller inactive region for large memory systems.

This policy's hit rates don't mirror ARC or LIRS, though it has some
similarities due to using the same history concept. It sometimes does
better, often worse, and typically outperforms LRU. Due to the static
configuration it is not robust across workloads and we observe a
notable gap compared to W-TinyLFU.

The hit rates across various workloads is recorded in,
https://docs.google.com/spreadsheets/d/16wEq5QBzqOtownEtZvZeFn9i_iV0TPE8je4ADwlMNM8/edit?usp=sharing

6117 of 6571 relevant lines covered (93.09%)

0.93 hits per line

Jobs
ID Job ID Ran Files Coverage
2 2604.2 (TERM=dumb ORG_GRADLE_PROJECT_checksumFailOn=build_finish ORG_GRADLE_PROJECT_checksumPrint=true ORG_GRADLE_PROJECT_checksumIgnore=false GROUP=tests) 04 Aug 2020 07:24AM UTC 0
93.09
Travis Job 2604.2
Source Files on build 2604
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #2604
  • ba5e5f6e on github
  • Prev Build on master (#2603)
  • Next Build on master (#2605)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc