diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-22 13:10:38 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-22 13:10:38 -0400 |
| commit | bd2c763a92bb6b41272b0c2633120efaae8195d7 (patch) | |
| tree | b0e27a2ce9b06148e73ca0ca62bd40451292e3b4 /tools/cuda-ab/run/ip6 | |
| parent | 6019b88222f37fe90d5de2c60d29c1dd7cc59565 (diff) | |
| download | open-iov-bd2c763a92bb6b41272b0c2633120efaae8195d7.tar.gz open-iov-bd2c763a92bb6b41272b0c2633120efaae8195d7.zip | |
r471 the counter-publish clamp: never advance the guest's completion word past a push whose content was still unwritten when its entry was consumed. The r477 failing probe run showed the reuse hazard directly: the channel registered with a residual USERD put (4) and ring slots 1-3 all-zero; the pump consumed them (the r470 hold only delays) and the end-of-pass publish then wrote val=2 while the client's own counter was still 1 - the D2H wait was satisfied before the copy ran and the readback drained a reused staging buffer holding the PREVIOUS copy's bytes (h_c[2] = c0's data). New per-channel gr_bad_put (lowest all-zero GR slot + 1, persisted in the pump write-back): set when a zero-content GR entry is held/consumed, cleared when a decode reads non-zero content (the rewinds re-read entries constantly, so it heals within passes); svc_counter_publish clamps val to it with a bounded pub-clamp witness.HEADmaster
Diffstat (limited to 'tools/cuda-ab/run/ip6')
0 files changed, 0 insertions, 0 deletions
