Skip to content

actiondfs: simplify child parsing, staged mutations, and inode identity - #24

Merged
dzbarsky merged 15 commits into
mainfrom
codex/actiondfs-deslop-round-three
Aug 1, 2026
Merged

actiondfs: simplify child parsing, staged mutations, and inode identity#24
dzbarsky merged 15 commits into
mainfrom
codex/actiondfs-deslop-round-three

Conversation

@dzbarsky

@dzbarsky dzbarsky commented Jul 31, 2026

Copy link
Copy Markdown
Member

Five focused commits simplify shared REAPI child parsing; staged file/symlink creation; staged unlink/rmdir; backing opens and hexadecimal parsing; and immutable child identity, symlink ownership, and staged-directory ancestry. Removes 149 net lines from kernel/actiondfs/actiondfs.c and eight bytes per input node.

Validation: full ARM64/x86_64 production and instrumented kernel builds, bazel build/test //..., the standalone timing-parser test, production and instrumented tools/e2e.sh vm, and two fresh-worker LLVM smokes with identical 2,017 warmup plus 2,106 measured actions. Local LLVM times were distorted by severe host CPU/memory contention: 137.064/151.585 seconds and 166.200/196.180 seconds versus the prior 102.136/108.831 seconds; identical action digests and filesystem counters isolate the slowdown to action process scheduling.

All five GitHub Actions checks pass. The 1,998-action Linux comparison measured 275.435 seconds for actiond and 263.800 seconds natively (1.044×); the main baseline was 301.049/298.626 seconds (1.008×). The 1,998-action Windows comparison measured 355.531 seconds for actiond and 362.304 seconds natively (0.981×); the main baseline was 370.627/392.874 seconds (0.943×). The normalized ratios are approximately 3.6% slower on Linux and 4.0% slower on Windows. The Linux check initially reproduced the intermittent keepalive stall previously observed on main, then passed when only the failed job was rerun.

@dzbarsky
dzbarsky merged commit 62a16ea into main Aug 1, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant