Claude
52f48ed2a9
wip(blocks): a BAM flush reads and writes only the pages that hold the volume's bits ( #155 ) [skip ci]
...
Not yet accepted. bam_flush_to_disk() and bam_sync_from_disk() read and
wrote every page of the BAM; with the stick's BAM sized for 256 GiB (6144
devblocks, 24 MiB) every flush of a dirty block moved 24 MiB each way.
They now touch only the pages that hold the slot's bits -- its reserved
bits and one per user block (bam_pages_used()) -- the pages past them are
never set, so the bytes on disk are the same.
Test (qemu_session.py bam_flush, --target qemu-stick --stick-gib 16):
three SAVE-BUFFERS of an Artemis block, each timed, then the BAM hashed.
Before: 5.1 / 5.6 / 6.1 s (the 2 s limit fails; it was set after seeing
this baseline). After: 1.1 / 1.1 / 1.1 s. The BAM's bytes the same either
way: sha256 79197a40...b9e44b50, 5 non-zero bytes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2
2026-11-08 14:21:57 +00:00
..
2026-11-06 00:43:48 +00:00
2026-10-19 06:35:46 -04:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-10-26 18:02:27 -04:00
2026-10-26 18:02:27 -04:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-10-26 18:02:27 -04:00
2026-10-26 18:02:27 -04:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 00:43:48 +00:00
2026-11-06 01:05:03 +00:00
2026-11-06 01:05:03 +00:00
2026-11-06 01:05:03 +00:00
2026-11-06 01:05:03 +00:00
2026-11-06 02:05:37 +00:00
2026-11-06 14:45:36 +00:00
2026-11-06 14:45:36 +00:00
2026-11-06 14:45:36 +00:00
2026-11-06 15:21:59 +00:00
2026-11-06 15:21:59 +00:00
2026-11-06 15:21:59 +00:00
2026-11-06 15:21:59 +00:00
2026-11-06 15:22:17 +00:00
2026-11-06 15:21:59 +00:00
2026-11-06 19:41:22 +00:00
2026-11-06 19:41:22 +00:00
2026-11-07 15:24:28 +00:00
2026-11-07 15:24:28 +00:00
2026-11-07 15:24:28 +00:00
2026-11-07 15:24:28 +00:00
2026-11-07 15:24:28 +00:00
2026-11-07 17:11:40 +00:00
2026-11-07 17:11:40 +00:00
2026-11-07 17:11:40 +00:00
2026-11-07 17:11:40 +00:00
2026-11-07 17:11:40 +00:00
2026-11-07 18:55:30 +00:00
2026-11-07 18:55:30 +00:00
2026-11-07 18:55:30 +00:00
2026-11-07 18:55:30 +00:00
2026-11-07 18:55:30 +00:00
2026-11-07 19:15:04 +00:00
2026-11-07 19:15:04 +00:00
2026-11-07 19:15:04 +00:00
2026-11-07 19:54:47 +00:00
2026-11-07 20:09:33 +00:00
2026-11-07 20:09:33 +00:00
2026-11-07 20:09:33 +00:00
2026-11-07 20:09:33 +00:00
2026-11-07 22:49:03 +00:00
2026-11-08 01:21:36 +00:00
2026-11-08 01:21:36 +00:00
2026-11-08 01:21:36 +00:00
2026-11-08 01:21:36 +00:00
2026-11-08 01:21:36 +00:00
2026-11-08 01:21:36 +00:00
2026-11-08 01:21:36 +00:00
2026-11-08 03:43:33 +00:00
2026-11-08 03:43:33 +00:00
2026-11-08 03:43:33 +00:00
2026-11-08 03:43:33 +00:00
2026-11-08 03:49:32 +00:00
2026-11-08 03:49:32 +00:00
2026-11-08 03:53:11 +00:00
2026-11-08 03:53:11 +00:00
2026-11-08 03:54:38 +00:00
2026-11-08 03:56:18 +00:00
2026-11-08 03:58:03 +00:00
2026-11-08 03:59:34 +00:00
2026-11-08 04:01:35 +00:00
2026-11-08 04:03:32 +00:00
2026-11-08 04:06:25 +00:00
2026-11-08 04:09:15 +00:00
2026-11-08 04:12:07 +00:00
2026-11-08 04:14:06 +00:00
2026-11-08 04:16:12 +00:00
2026-11-08 04:18:23 +00:00
2026-11-08 04:20:54 +00:00
2026-11-08 04:23:25 +00:00
2026-11-08 04:25:50 +00:00
2026-11-08 04:28:18 +00:00
2026-11-08 04:30:45 +00:00
2026-11-08 04:33:15 +00:00
2026-11-08 04:35:49 +00:00
2026-11-08 04:37:17 +00:00
2026-11-08 04:40:46 +00:00
2026-11-08 04:40:46 +00:00
2026-11-08 04:43:26 +00:00
2026-11-08 04:54:00 +00:00
2026-11-08 04:54:00 +00:00
2026-11-08 04:54:00 +00:00
2026-11-08 11:54:53 +00:00
2026-11-08 11:54:53 +00:00
2026-11-08 11:54:53 +00:00
2026-11-08 12:03:46 +00:00
2026-11-08 12:03:46 +00:00
2026-11-08 12:03:46 +00:00
2026-11-08 12:08:21 +00:00
2026-11-08 12:08:21 +00:00
2026-11-08 12:21:32 +00:00
2026-11-08 12:21:32 +00:00
2026-11-08 12:21:32 +00:00
2026-11-08 12:21:32 +00:00
2026-11-08 12:21:32 +00:00
2026-11-08 12:21:32 +00:00
2026-11-08 12:27:39 +00:00
2026-11-08 12:27:39 +00:00
2026-11-08 12:31:02 +00:00
2026-11-08 12:31:02 +00:00
2026-11-08 12:45:33 +00:00
2026-11-08 12:45:33 +00:00
2026-11-08 12:45:33 +00:00
2026-11-08 12:45:33 +00:00
2026-11-08 13:02:01 +00:00
2026-11-08 13:13:25 +00:00
2026-11-08 13:15:53 +00:00
2026-11-08 13:20:27 +00:00
2026-11-08 13:22:20 +00:00
2026-11-08 13:29:35 +00:00
2026-11-08 13:37:55 +00:00
2026-11-08 13:40:21 +00:00
2026-11-08 13:45:18 +00:00
2026-11-08 13:45:18 +00:00
2026-11-08 14:15:01 +00:00
2026-11-08 14:15:01 +00:00
2026-11-08 14:15:01 +00:00
2026-11-08 14:15:01 +00:00
2026-11-08 14:15:01 +00:00
2026-11-08 14:15:01 +00:00
2026-11-08 14:15:01 +00:00
2026-11-08 14:15:01 +00:00
2026-11-08 14:15:01 +00:00
2026-11-08 14:15:01 +00:00
2026-11-08 14:15:01 +00:00
2026-11-08 14:16:52 +00:00
2026-11-08 14:21:57 +00:00
2026-11-08 14:21:57 +00:00
2026-10-19 06:49:11 -04:00