boot: page-cache, the host's cache and the guest's, measured - #57
Merged
Merged
Conversation
Three questions nothing here measured, one probe (task boot:page-cache, the lab's boot:page-cache): - a boot cold against warm: the release's files dropped from the host's page cache first, file by file with POSIX_FADV_DONTNEED - never drop_caches, which takes every other runner's cache on the host - and how much of the base image a cold boot reads; - what a guest's writes cost the host twice: the overlay's pages in the host's cache (mincore), with the disk as it is and with --disk-direct-over-backing; - whether the guest's page cache comes back: QEMU's resident memory at each step of a file written, read, dropped and removed. One rep on a laptop (2026-10-01, v20260930.02): a cold boot reads 47 MB of the 830 MB base; writing 512 MB leaves 514 MB of the overlay in the host's cache with writeback, kept after the guest drops and removes it, and 2 MB with the overlay O_DIRECT; QEMU's RSS returns when the guest drops its cache (free page reporting), not before. The lab's numbers are the ones to read. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a lab probe,
task boot:page-cache(lab optionboot:page-cache), that answers three questions nothing in the repo measured:POSIX_FADV_DONTNEED(neverdrop_caches, which would also drop the other runners' cache). The probe interleaves cold and warm boots, reports p50/p95, and how much of the base image a cold boot reads.mincore), with the default disk mode and with--disk-direct-over-backing.The overlay is created at 2 GiB and the guest's root filesystem is grown into it, so the file has room; the base image is not touched. A failed write in the guest fails the probe instead of being hidden.
One run on a laptop (REPS=1, v20260930.02), for orientation only; the lab runner's numbers are the ones to read:
A cold boot reads 47 MB of the 830 MB base image.
Checked here:
task lint,task test, and the probe end to end.🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.