chrg6
7a1c220e06
Test held work against the event's value now when another thread asks without the submission lock, and read the held count and the submission count as atomics there.
...
vk_exec_held_ready runs without sub_lock (vk_backend.c held_resume, submit_sync). It decided from the published copy
since 688b2506 , but tested the wait with vk_exec_event_met, which compares at the copy point of the submission being
recorded (vk_exec_xfer.c ev_mem, ev_sync_seq). That point is set by whichever thread holds the lock, so a thread asking
while another one recorded tested "at sync" against that other submission's copies. Its question is whether held work
can go on in a submission of its own, which takes its copies later: vk_exec_event_met_now tests the value in memory now
or the signals replayed so far. Under the lock nothing changes: evo_resume and cont_ready keep the copy-point test, and
vk_exec_record asks right after its own copy point, where the two agree.
evo_pending and vk_exec_submit_seq are written under the lock and were read as plain values by vk_exec_held,
vk_exec_held_ready and the held present's since and PH_MAX checks; they are now stored and loaded as atomics
(vk_exec_submit_seq_now), so the compiler cannot keep a stale copy in an unlocked reader.
Not reproduced before the change. Checks that passed: pass_cc_check on every runtime file (a header changed), no new
-Wall -Wextra warnings in vk_exec.c, vk_exec_xfer.c and vk_backend.c, evo_peek_check, target_frames_check and
oq_hold_check.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-13 20:13:02 -05:00
..
2026-11-13 20:12:50 -05:00
2026-11-13 18:43:24 -05:00
2026-11-13 12:54:24 -05:00
2026-11-13 04:37:01 -05:00
2026-11-13 18:41:39 -05:00
2026-11-11 00:39:50 -05:00
2026-11-10 23:16:17 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:38 -05:00
2026-11-12 02:11:46 -05:00
2026-11-10 22:59:02 -05:00
2026-11-09 08:19:19 -05:00
2026-11-07 05:04:40 -05:00
2026-11-07 05:04:40 -05:00
2026-11-13 18:41:46 -05:00
2026-11-07 05:04:40 -05:00
2026-11-07 05:04:40 -05:00
2026-11-13 18:41:46 -05:00
2026-11-13 18:41:46 -05:00
2026-11-12 22:24:22 -05:00
2026-11-13 18:42:10 -05:00
2026-11-13 06:22:18 -05:00
2026-11-13 06:22:18 -05:00
2026-11-13 18:41:46 -05:00
2026-11-13 03:37:26 -05:00
2026-11-13 09:08:40 -05:00
2026-11-13 20:13:02 -05:00
2026-11-13 06:23:01 -05:00
2026-11-13 18:43:23 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:40 -05:00
2026-11-13 09:08:40 -05:00
2026-11-13 06:22:18 -05:00
2026-11-08 01:25:12 -05:00
2026-11-09 09:10:36 -05:00
2026-11-13 20:12:26 -05:00
2026-11-13 18:43:24 -05:00
2026-11-13 20:12:26 -05:00
2026-11-07 05:04:38 -05:00
2026-11-09 03:34:46 -05:00
2026-11-12 15:16:30 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 09:52:43 -05:00
2026-11-13 07:08:49 -05:00
2026-11-13 07:08:49 -05:00
2026-11-07 05:04:40 -05:00
2026-11-09 13:13:43 -05:00
2026-11-09 13:13:43 -05:00
2026-11-11 00:11:41 -05:00
2026-11-13 20:12:26 -05:00
2026-11-13 15:57:52 -05:00
2026-11-13 18:43:23 -05:00
2026-11-13 18:42:10 -05:00
2026-11-11 14:06:16 -05:00
2026-11-12 17:41:47 -05:00
2026-11-13 20:12:25 -05:00
2026-11-13 07:55:56 -05:00
2026-11-13 07:55:56 -05:00
2026-11-13 18:41:45 -05:00
2026-11-07 05:04:38 -05:00
2026-11-11 19:38:18 -05:00
2026-11-13 18:43:23 -05:00
2026-11-13 18:43:24 -05:00
2026-11-13 20:12:49 -05:00
2026-11-10 23:24:12 -05:00
2026-11-13 18:42:34 -05:00
2026-11-13 20:13:02 -05:00
2026-11-07 05:04:40 -05:00
2026-11-09 08:21:07 -05:00
2026-11-09 08:21:07 -05:00
2026-11-09 08:21:07 -05:00
2026-11-13 06:06:27 -05:00
2026-11-13 06:06:27 -05:00
2026-11-10 12:48:50 -05:00
2026-11-13 06:22:18 -05:00
2026-11-09 03:34:46 -05:00
2026-11-07 05:04:38 -05:00
2026-11-09 03:34:46 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:38 -05:00
2026-11-13 18:42:10 -05:00
2026-11-13 09:52:43 -05:00
2026-11-13 18:41:46 -05:00
2026-11-13 18:41:46 -05:00
2026-11-09 21:54:40 -05:00
2026-11-10 23:16:17 -05:00
2026-11-13 18:43:24 -05:00
2026-11-09 20:48:10 -05:00
2026-11-11 19:38:18 -05:00
2026-11-13 18:43:23 -05:00
2026-11-13 18:43:23 -05:00
2026-11-13 20:12: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-11 04:48:36 -05:00
2026-11-13 20:12:50 -05:00
2026-11-11 00:39:08 -05:00
2026-11-07 09:26:51 -05:00
2026-11-10 23:14:00 -05:00
2026-11-08 15:51:48 -05:00
2026-11-07 05:04:40 -05:00
2026-11-12 16:23:02 +01:00
2026-11-12 16:23:02 +01:00
2026-11-11 05:58:43 -05:00
2026-11-11 19:38:17 -05:00
2026-11-11 05:58:32 -05:00
2026-11-08 15:51:48 -05:00
2026-11-09 08:09:25 -05:00
2026-11-08 15:51:48 -05:00
2026-11-07 05:04:40 -05:00
2026-11-12 14:38:26 -05:00
2026-11-12 12:09:37 -05:00
2026-11-11 02:36:54 -05:00
2026-11-11 00:39:58 -05:00
2026-11-07 05:04:40 -05:00
2026-11-13 18:46:50 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:38 -05:00
2026-11-13 18:41:46 -05:00
2026-11-13 00:50:21 -05:00
2026-11-13 20:12:49 -05:00
2026-11-13 15:57:52 -05:00
2026-11-12 12:09:36 -05:00
2026-11-07 05:04:40 -05:00
2026-11-12 12:09:36 -05:00
2026-11-07 05:04:40 -05:00
2026-11-11 19:38:17 -05:00
2026-11-07 05:04:39 -05:00
2026-11-07 05:04:39 -05:00
2026-11-11 19:38:18 -05:00
2026-11-11 19:38:18 -05:00
2026-11-11 19:38:18 -05:00
2026-11-07 05:04:38 -05:00
2026-11-09 08:54:25 -05:00
2026-11-08 15:51:48 -05:00
2026-11-07 05:04:38 -05:00
2026-11-10 22:59:02 -05:00
2026-11-07 13:31:07 -05:00
2026-11-13 00:53:22 -05:00
2026-11-07 05:04:40 -05:00
2026-11-13 18:41:46 -05:00
2026-11-07 05:04:40 -05:00
2026-11-09 13:13:43 -05:00
2026-11-09 02:40:51 -05:00
2026-11-12 15:18:25 -05:00
2026-11-09 02:40:51 -05:00
2026-11-13 08:35:42 -05:00
2026-11-13 08:35:42 -05:00
2026-11-12 22:34:22 -05:00
2026-11-13 05:54:58 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 20:13:02 -05:00
2026-11-10 06:35:28 -05:00
2026-11-10 06:35:28 -05:00
2026-11-13 07:08:49 -05:00
2026-11-13 07:08:49 -05:00
2026-11-13 15:57:51 -05:00
2026-11-13 15:57:51 -05:00
2026-11-11 04:36:33 -05:00
2026-11-07 05:04:38 -05:00
2026-11-12 22:09:37 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:40 -05:00
2026-11-13 08:23:11 -05:00
2026-11-13 20:12:26 -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-10 23:16:17 -05:00
2026-11-10 23:16:17 -05:00
2026-11-13 03:37:26 -05:00
2026-11-09 13:13:43 -05:00
2026-11-09 13:13:43 -05:00
2026-11-09 13:13:43 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:40 -05:00
2026-11-12 21:33:21 -05:00
2026-11-12 20:03:45 -05:00
2026-11-12 07:55:57 -05:00
2026-11-12 07:55:57 -05:00
2026-11-13 03:42:40 -05:00
2026-11-12 22:57:56 -05:00
2026-11-13 07:55:56 -05:00
2026-11-13 18:43:23 -05:00
2026-11-13 18:43:23 -05:00
2026-11-13 18:43:24 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:38 -05:00
2026-11-07 05:04:40 -05:00
2026-11-07 05:04:38 -05:00
2026-11-13 03:37:26 -05:00
2026-11-07 05:04:38 -05:00
2026-11-12 02:11:46 -05:00
2026-11-12 02:11:46 -05:00
2026-11-13 08:35:42 -05:00
2026-11-13 20:12:50 -05:00
2026-11-13 08:35:42 -05:00
2026-11-13 00:53:22 -05:00
2026-11-13 00:53:22 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 18:41:39 -05:00
2026-11-07 05:04:38 -05:00
2026-11-13 06:23:01 -05:00
2026-11-13 18:41:40 -05:00
2026-11-13 20:13:02 -05:00
2026-11-11 04:42:07 -05:00
2026-11-11 04:29:31 -05:00
2026-11-12 16:22:15 +01:00
2026-11-09 03:34:46 -05:00
2026-11-12 04:39:12 -05:00
2026-11-13 12:54:24 -05:00
2026-11-13 18:43:23 -05:00
2026-11-13 20:13:02 -05:00
2026-11-13 00:49:30 -05:00
2026-11-13 20:12:50 -05:00
2026-11-13 20:12:49 -05:00
2026-11-13 09:52:43 -05:00
2026-11-13 18:41:40 -05:00
2026-11-13 15:57:52 -05:00
2026-11-11 04:35:30 -05:00
2026-11-13 20:13:02 -05:00
2026-11-13 20:13:02 -05:00
2026-11-13 20:13:02 -05:00
2026-11-11 04:49:01 -05:00
2026-11-13 20:13:01 -05:00
2026-11-13 20:13:02 -05:00
2026-11-13 20:13:02 -05:00
2026-11-13 06:46:31 -05:00
2026-11-12 20:03:59 -05:00
2026-11-12 12:09:37 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 06:46:31 -05:00
2026-11-07 05:04:40 -05:00
2026-11-13 06:23:01 -05:00
2026-11-12 22:18:14 -05:00
2026-11-12 22:18:14 -05:00
2026-11-13 00:46:26 -05:00
2026-11-13 18:41:39 -05:00
2026-11-13 08:36:46 -05:00
2026-11-13 18:46:49 -05:00
2026-11-12 22:30:56 -05:00
2026-11-13 20:12:50 -05:00
2026-11-13 12:54:24 -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-13 00:49:30 -05:00
2026-11-07 05:04:38 -05:00
2026-11-13 08:36:46 -05:00
2026-11-13 18:43:23 -05:00
2026-11-12 13:00:13 -05:00
2026-11-11 05:58:42 -05:00
2026-11-11 05:25:38 -05:00
2026-11-12 23:21:17 -05:00
2026-11-13 00:49:30 -05:00
2026-11-13 12:54:24 -05:00
2026-11-13 18:42:34 -05:00
2026-11-10 12:14:29 -05:00
2026-11-12 22:33:29 -05:00
2026-11-13 15:57:52 -05:00
2026-11-13 20:12:50 -05:00
2026-11-13 00:50:21 -05:00
2026-11-13 20:13:01 -05:00
2026-11-13 00:49:30 -05:00
2026-11-13 05:09:47 -05:00
2026-11-07 05:04:38 -05:00
2026-11-10 09:13:35 -05:00
2026-11-13 20:12:50 -05:00
2026-11-10 15:20:47 -05:00
2026-11-13 00:43:03 -05:00