Repository navigation
osbench's disk groups as a metal row, and the forced journal write recorded as measured and declined - #1215
Conversation
Review r1 of #1215 at
|
`osbench_disk` runs `files`, `nvme` and `persist` alone on the bench's NVMe, so a change to the disk's path or its power states is measured without the whole suite's boot. PR #1202's and PR #1131's A/B ran on it. Only a pass that names it runs it: the nightly `osbench` boot measures the same groups. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
…low mode ending in idle PR #1202 wrote the bcachefs journal's entries with Force Unit Access, one Flush fewer per commit. Its A/B on both benches found it no faster at best (the T14, fast mode) and 66% slower at worst (the AMD), so it is closed and nothing of it lands. The record says what was measured, on which revisions, and the one open question, so it is not retried blind. The same boots showed the T14's slow durable writes ending during the after-idle row's 80 s of idle in four boots of four. That arm also set APST, so which of the two ends the mode is not separated; recorded as a finding with the measurement that separates them as its exit. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
…rds hold what was measured 1. The row's comments called all three groups the disk's figures. Only `persist` writes the bench's NVMe; `files` is the memory filesystem's rows and `nvme` is read-only and unsupported on ToyOS. The comments and the README say so. No group is dropped, so the image is as it was. 2. The bound's comment said no boot had timed the groups apart from the suite. Twenty-four have. It now says only that the suite's bound is reused as a ceiling. 3. The rejected record omitted the one result that points the other way: on the T14 `fs.disk.seq_write.1048576` was 24% faster forced in every boot, and 13% slower on the AMD bench. It is stated, with why the ruling stands. "No faster at best" is scoped to the durable rows, the worst figure is 71%, the third arm is named with its revision and its APST, and the Linux column is labelled as three runs. 4. The T14 finding's control was wrong: one boot with neither idle nor APST left the slow mode by itself. The record counts it, names the third case, and makes its exit a count against that base rate. It is `assigned` to PR #1131's measurement, and the slow-write record points at it. 5. The storage track still called the forced write assigned work. It now points at the rejected record; the two-Flush cost stays. Comments and records only. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
72ce4d2 to
6526e1c
Compare
|
Orchestrator verification at 6526e1c (rebased onto main 2ec4ad9), after review r1's SEND BACK at 72ce4d2 (five blockers, comments and records). No code changed: the non-comment lines this branch adds to
Queueing. |
…both benches Four osbench boots a bench interleaved with five Linux runs, the Linux reference taken in the same session on the same machine. The T14 reads 70 rows behind Linux, 52 ahead, 7 at parity and 5 unresolved; the AMD bench 35, 76, 8 and 15. The home record carries every row behind, ranked, with the record that owns it. Four rows behind had no record and get one: a clock read on the T14, a wake onto a busy CPU on both benches, the T14's 4- and 64-waiter storm drains, and the one-group all-CPU total. The yield record's row is measured now (3.41x on the T14, 1.13x on the AMD bench), so it is a defect under a slug that says so. The spawn, memory-filesystem, file-server, small-message, ping-pong, memcpy and user-memory records gain this session's table. The T14's durable-write record is left to #1215, which rewrites it; this session read its slow mode in four boots of four. Evidence: https://github.com/ToyOSOrg/evidence/tree/d44ebdae1f9f584d7b826e1498dbfd791a8d2339 Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
What this is
Two things kept from the closed PR #1202, which carried Force Unit Access through the block path and was measured and declined.
osbench_disk, a metal row:osbench persistwithout the rest of the suite, for a change to the disk's path.persistalone writes the bench's NVMe (the durable rows andfs.disk.*).filesrides along as the memory filesystem's rows andnvmefor its place in the list;nvmeis read-only and reports its rows unsupported on ToyOS. It reusesbenchcase.toml, the suite's judge, and the suite's bound as a ceiling. Only a pass that names it runs it. A journal entry is one flush and a forced write: FUA through the block path #1202's and nvme: the controller's own idle power states, by APST #1131's A/B ran on it: 24 boots, every verdictpassed.issues/a-forced-journal-write-is-no-faster-than-a-write-and-a-flush.md(rejected): what was measured, on which revisions, the evidence, the one result that points the other way, and the one open question.issues/the-t14s-slow-durable-writes-ended-during-80-s-of-idle-in-four-boots-of-four.md(finding,assignedto nvme: the controller's own idle power states, by APST #1131's measurement): seen in the same boots; its exit is a count against the rate at which the mode ends by itself.issues/storage-is-layers-and-a-role-is-a-filesystem.mdno longer calls the forced write assigned work; it points at the rejected record. The slow-write record points at the finding.The result the record holds
Median of four boots' p50 (range over boots), main with the row (
c9d6eff6f) against the forced write (8a8ff27b9):persist.write_4k_fsyncpersist.append_4k_fsyncpersist.create_fsync_unlink24f5de778, which also set APST) took 0.93-1.08 ms against 0.97 and 1.12 ms. No faster at best, 71% slower at worst.fs.disk.seq_write.1048576was 24% faster forced on the T14 in every boot (460-498 against 362-394 MB/s), and 13% slower on the AMD bench (399-406 against 458-472 MB/s). The ruling stands: a mixed bulk result does not pay for that loss on every durable row of one bench.Evidence: https://github.com/ToyOSOrg/evidence/blob/7efbe1295aa54370b213719b4d4f460e7a103554/ab/README.md. Two gaps in that README, corrected in the records rather than there: it classes the T14's round 3 of main as fast though the boot began slow, and it does not mention the T14's sequential-write row.
Checks
cargo run -- --ci hostat72ce4d25e(before review r1): exit 1, 109 of 110 steps green. The one red isllvm::tests::the_caller_s_environment_reaches_neither_the_build_nor_the_key, red on every macOS host (issues/the-llvm-environment-test-breaks-git-on-macos.md). Log: https://github.com/ToyOSOrg/evidence/blob/1dfcfeb85c6a0991ffa7ee2324c66f9904c89268/README.md6526e1c48, rebased onto main2ec4ad950: since72ce4d25eonly comments and records changed. The non-comment lines oftests/toyos.rs's diff against main are identical before and after, and the harness compiles (cargo test --test toyos-build --no-run, exit 0). The host run was not repeated.No guest or metal run is owed: the change is a harness registration and two records. The row itself ran on both benches as above, at
c9d6eff6f, whose registration is the one here.🤖 Generated with Claude Code