summaryrefslogtreecommitdiffstats
path: root/kernel/dynamic_rpc_dispatcher.h
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-19 07:57:32 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-19 08:58:17 -0400
commit2249ab37c335c4e827597aa8e35baa6692ef7b03 (patch)
tree69f6914b2dd0a5d8379976bccc95184ccbc1e1b1 /kernel/dynamic_rpc_dispatcher.h
parent077879fa5ca410d387bdc913fae12effcc47799b (diff)
downloadopen-iov-2249ab37c335c4e827597aa8e35baa6692ef7b03.tar.gz
open-iov-2249ab37c335c4e827597aa8e35baa6692ef7b03.zip
vgsp: newbind holds are residual-only and short (r237 T2 3 s GP_GET delay)
r237-2: T2's GR channel carried T1's residual put=115; my 3 s empty-decode hold delayed the host's GP_GET during the residual walk, and the guest unwound at binding+3.46 s (zeroed PROMOTE_CTX, then full FREE) - exactly when the host finally consumed the residual. The guest's ctx-init patience is ~3 s, so the hold must never delay the walk that long. - New SVC_GR_NEWBIND_HOLD_MS 1200u and per-channel wd_newbind_hold_until: the hold windows (empty-decode and unmapped entry) now apply only while it is fresh (<1.2 s; the rebuild lands in ~0.8 s) and only when put == get (residual context, no producer work pending). Any pending producer work is walked without delay, so GP_GET always advances promptly. - wd_newbind_until (3 s) still governs retry eligibility; the opdef drop, chanswitch log, pending-map/rebuild path are unchanged. make kernel green.
Diffstat (limited to 'kernel/dynamic_rpc_dispatcher.h')
0 files changed, 0 insertions, 0 deletions