diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-05 07:00:45 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-05 07:00:45 -0400 |
| commit | 0f5322fe8221ca8b4b5ccc1a6d2c862679472403 (patch) | |
| tree | 984ee1f2faa39a8777e92ed42b284c72d0b4a0c6 /kernel/dynamic_rpc_dispatcher.c | |
| parent | 21fddac313a1f4101210468f49b0ca76a67be113 (diff) | |
| download | open-iov-0f5322fe8221ca8b4b5ccc1a6d2c862679472403.tar.gz open-iov-0f5322fe8221ca8b4b5ccc1a6d2c862679472403.zip | |
vgsp: hold every unreadable CE entry for the grace; delete the silent pre-rescue fake
An unreadable CE entry whose channel already had a decoded release VA was faked immediately and consumed with no log line, before any rescue attempt. A later pin-batch rewind then executed the skipped copy against a staging buffer the client had since refilled - the deterministic vadd input shift seen in runs 94/122/151/173b/215b, each with a silent pre-rescue fake.
Now every unreadable CE entry with an expected payload is held for the bounded grace and the rescue is retried on each pass, so a translation that is still coming wins and the work runs before the release. Only an entry whose release was already delivered (the channel moved past entry_want) is consumed at once; the post-rescue fake remains the bounded, visible escape. The CE grace default moves 15000 -> 25000 ms (a translation arrived ~17 s after first examination in 215b).
Under live campaign 229-236 (module 97eba5b7; green so far).
Diffstat (limited to 'kernel/dynamic_rpc_dispatcher.c')
0 files changed, 0 insertions, 0 deletions
