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

ben-manes / caffeine / 2598
100%

Build:
DEFAULT BRANCH: master
Ran 03 Aug 2020 09:39AM UTC
Jobs 1
Files 76
Run time 23s
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
2598

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 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,
https://docs.google.com/spreadsheets/d/16wEq5QBzqOtownEtZvZeFn9i_iV0TPE8je4ADwlMNM8/edit?usp=sharing

6113 of 6571 relevant lines covered (93.03%)

0.93 hits per line

Jobs
ID Job ID Ran Files Coverage
2 2598.2 (TERM=dumb ORG_GRADLE_PROJECT_checksumFailOn=build_finish ORG_GRADLE_PROJECT_checksumPrint=true ORG_GRADLE_PROJECT_checksumIgnore=false GROUP=tests) 03 Aug 2020 09:39AM UTC 0
93.03
Travis Job 2598.2
Source Files on build 2598
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #2598
  • 112a7168 on github
  • Prev Build on master (#2597)
  • Next Build on master (#2602)
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