chrg6
da60e0d327
Make wb_lazy_unlocked = 0 bring back 0.10.1's locking in evictions and releases as well, which the review found it did not.
...
With the setting at 0, frz_lock was held across every fault's and release's fetch again and mem_thaw released under the
lock, but two parts of the new code stayed. vk_memory.c mirror_evict and hot_check still fetched their victims'
armed ranges before taking pool_lock again, and a release still put up to 16 copies in one submission. Those are the
parts that run only with a device and have no check without one, so a device loss caused by them was the one case the
switch could not take back. Now vk_memory.c reads the setting too (evict_unlocked, once on the replay thread, where
both run): at 0 neither drops pool_lock, and the release under it fetches everything, victim by victim, as before. And
memory.c lazy_take_batch_locked takes one segment at a time at 0, so each is fetched on its own.
What stays at 0 is the table of ranges in flight: a touch of a range being fetched waits for that fetch and runs
again (a write no longer goes on to thaw_fault and releases its region), the hold is set as the range goes out, and
mem_lazy_touches counts the range. memory.c "Ranges in flight", nx2navi.ini.example and docs/building.md say so.
tests/lazy_fetch_check.py gains locked_release, the release scenario at 0: three fetches of one copy each, where the
batched release makes two of up to two copies. It fails with the cap taken out. The eviction's side has a compile
check only. Not reproduced before the change; lazy_fetch_check passed in all its scenarios.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-13 20:12:50 -05:00
..
2026-11-08 15:51:48 -05:00
2026-11-10 23:16:17 -05:00
2026-11-10 23:16:17 -05:00
2026-11-13 18:41:40 -05:00
2026-11-13 18:41:40 -05:00
2026-11-10 22:59:02 -05:00
2026-11-09 08:19:19 -05:00
2026-11-13 18:41:46 -05:00
2026-11-12 15:17:48 -05:00
2026-11-12 22:24:22 -05:00
2026-11-12 20:03:12 -05:00
2026-11-11 04:42:07 -05:00
2026-11-11 04:42:07 -05:00
2026-11-13 18:41:45 -05:00
2026-11-13 18:41:46 -05:00
2026-11-13 18:41:45 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 18:42:34 -05:00
2026-11-13 18:42:34 -05:00
2026-11-13 18:42:10 -05:00
2026-11-13 18:43:30 -05:00
2026-11-13 18:43:30 -05:00
2026-11-13 18:41:45 -05:00
2026-11-13 18:41:45 -05:00
2026-11-13 07:55:56 -05:00
2026-11-13 18:41:46 -05:00
2026-11-13 18:43:23 -05:00
2026-11-13 18:43:23 -05:00
2026-11-11 04:35:30 -05:00
2026-11-13 20:12:49 -05:00
2026-11-13 20:12:26 -05:00
2026-11-13 20:12:50 -05:00
2026-11-09 08:21:07 -05:00
2026-11-09 08:21:07 -05:00
2026-11-13 18:41:40 -05:00
2026-11-13 18:41:40 -05:00
2026-11-13 18:41:45 -05:00
2026-11-12 14:57:13 -05:00
2026-11-13 18:46:50 -05:00
2026-11-13 18:43:23 -05:00
2026-11-13 18:43:23 -05:00
2026-11-13 20:12:25 -05:00
2026-11-13 20:12:25 -05:00
2026-11-11 05:22:56 -05:00
2026-11-12 12:07:19 -05:00
2026-11-12 12:07:19 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:38 -05:00
2026-11-12 15:16:30 -05:00
2026-11-12 15:16:30 -05:00
2026-11-13 18:43:23 -05:00
2026-11-13 20:12:26 -05:00
2026-11-13 07:08:49 -05:00
2026-11-13 15:57:52 -05:00
2026-11-13 15:57:52 -05:00
2026-11-13 18:43:23 -05:00
2026-11-11 19:38:18 -05:00
2026-11-13 20:12:50 -05:00
2026-11-13 20:12:50 -05:00
2026-11-13 20:12:50 -05:00
2026-11-12 23:21:17 -05:00
2026-11-10 02:25:14 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 18:42:34 -05:00
2026-11-13 18:43:24 -05:00
2026-11-13 18:41:40 -05:00
2026-11-13 18:41:40 -05:00
2026-11-09 20:51:08 -05:00
2026-11-13 08:36:46 -05:00
2026-11-13 08:36:46 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:38 -05:00
2026-11-08 15:51:48 -05:00
2026-11-13 18:41:46 -05:00
2026-11-13 18:41:46 -05:00
2026-11-07 05:04:40 -05:00
2026-11-13 18:43:30 -05:00
2026-11-13 20:12:50 -05:00
2026-11-13 20:12:50 -05:00
2026-11-13 18:43:23 -05:00
2026-11-13 18:43:23 -05:00
2026-11-12 15:12:51 -05:00
2026-11-07 05:04:40 -05:00
2026-11-09 08:09:26 -05:00
2026-11-13 07:55:56 -05:00
2026-11-13 07:55:56 -05:00
2026-11-13 06:46:31 -05:00
2026-11-13 06:46:31 -05:00
2026-11-11 04:48:36 -05:00
2026-11-11 04:48:36 -05:00
2026-11-13 12:54:24 -05:00
2026-11-13 12:54:24 -05:00
2026-11-07 05:04:38 -05:00
2026-11-11 08:23:56 -05:00
2026-11-10 12:48:50 -05:00
2026-11-10 12:48:50 -05:00
2026-11-13 18:41:46 -05:00
2026-11-13 18:41:45 -05:00
2026-11-07 05:04:38 -05:00
2026-11-13 08:36:46 -05:00
2026-11-13 08:36:46 -05:00
2026-11-07 05:04:38 -05:00
2026-11-11 19:38:18 -05:00
2026-11-12 22:34:22 -05:00
2026-11-12 22:34:22 -05:00
2026-11-13 18:41:45 -05:00
2026-11-13 18:41:39 -05:00
2026-11-12 22:30:46 -05:00
2026-11-11 04:29:31 -05:00
2026-11-11 04:29:31 -05:00
2026-11-12 08:25:42 -05:00
2026-11-10 06:31:27 -05:00
2026-11-12 15:00:27 -05:00
2026-11-10 12:49:10 -05:00
2026-11-12 22:53:00 -05:00
2026-11-11 04:36:33 -05:00
2026-11-11 04:36:33 -05:00
2026-11-09 14:16:19 -05:00
2026-11-10 01:55:30 -05:00
2026-11-07 05:04:40 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 20:12:26 -05:00
2026-11-13 20:12:25 -05:00
2026-11-13 20:12:26 -05:00
2026-11-12 22:28:36 -05:00
2026-11-12 22:28:36 -05:00
2026-11-11 05:25:38 -05:00
2026-11-11 05:25:38 -05:00
2026-11-13 09:08:40 -05:00
2026-11-11 00:11:41 -05:00
2026-11-09 13:13:43 -05:00
2026-11-09 13:13:43 -05:00
2026-11-12 23:21:17 -05:00
2026-11-12 23:21:17 -05:00
2026-11-12 20:03:45 -05:00
2026-11-12 20:03:45 -05:00
2026-11-07 05:04:40 -05:00
2026-11-12 22:57:56 -05:00
2026-11-12 22:54:58 -05:00
2026-11-13 07:55:56 -05:00
2026-11-13 07:55:56 -05:00
2026-11-13 18:43:23 -05:00
2026-11-13 08:23:11 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 12:54:24 -05:00
2026-11-13 12:54:24 -05:00
2026-11-12 15:18:25 -05:00
2026-11-11 00:11:41 -05:00
2026-11-13 18:41:46 -05:00
2026-11-13 18:41:46 -05:00
2026-11-10 12:14:29 -05:00
2026-11-10 12:02:12 -05:00
2026-11-09 08:09:26 -05:00
2026-11-12 22:33:29 -05:00
2026-11-12 22:33:29 -05:00
2026-11-13 08:35:42 -05:00
2026-11-13 08:35:42 -05:00
2026-11-13 15:57:52 -05:00
2026-11-13 00:12:31 -05:00
2026-11-13 00:53:22 -05:00
2026-11-13 00:53:22 -05:00
2026-11-12 15:18:25 -05:00
2026-11-12 15:18:25 -05:00
2026-11-11 05:29:06 -05:00
2026-11-13 18:41:46 -05:00
2026-11-10 09:13:35 -05:00
2026-11-10 09:13:35 -05:00
2026-11-12 07:55:57 -05:00
2026-11-10 15:20:47 -05:00
2026-11-10 15:15:34 -05:00
2026-11-07 05:04:38 -05:00
2026-11-13 18:41:45 -05:00