actiondfs: shrink cached metadata and simplify inode, parsing, and backing I/O - #30
Merged
Conversation
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.
Summary\n- Deliver 20 separate actiondfs commits reducing cached metadata, protobuf parsing, inode initialization, staged ownership locking, backing I/O, and directory iteration.\n- Shrink cached-child records from 56 to 48 bytes, saving 236,384 bytes across 29,548 LLVM-workload records; decode SHA-256 directly into cached children, avoiding 945,536 bytes of temporary digest copies.\n- Replace production cached-directory atomic exchanges with release stores; the instrumented LLVM run recorded 169,617 directory loads. Allocate staged-directory iteration state only when needed; synthetic VM coverage recorded 13 hits and zero misses.\n\n## Validation\n- Complete supported remote build: 66 targets, both Linux kernels, and every release binary.\n- Complete remote tests: 2/2; standalone timing-parser test: 1/1.\n- Production and instrumented macOS VM end-to-end suites, including sandbox escape, staged filesystem, PID-limit, and timeout recovery regressions.\n- Fresh LLVM VM benchmark: warmup 96.797s / 2,017 executed actions; measured 117.050s / 2,106 executed actions.\n- Parent-main matched CI baseline: Linux actiond/native 215.678s / 217.647s (0.991x); Windows 391.290s / 379.545s (1.031x), with 1,998 executed actions in every comparison. Follow-up PR CI measurements pending.