summaryrefslogtreecommitdiffstats
path: root/kernel/bar_init.c
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-28 14:38:54 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-28 14:38:54 -0400
commit2ea22bfe35f4eb6b58c89016764340d63d7e199b (patch)
tree3d06eeae237d24d84892c631385fbc855d45095d /kernel/bar_init.c
parent11ee6919311f2bee524f6d9944826e677ef62e59 (diff)
downloadopen-iov-2ea22bfe35f4eb6b58c89016764340d63d7e199b.tar.gz
open-iov-2ea22bfe35f4eb6b58c89016764340d63d7e199b.zip
sema: always run a decoded push's work when the push is reached
The pump gated collected fills/copies on the tracking semaphore being translatable and behind the release payload. On real hardware the work always executes and the release only orders observers, so the gate dropped work exactly when it was needed to bootstrap translations (UVM's CE memsets writing page tables into vidmem, whose tracking semaphores live in the address space those writes create) and skipped pushes as stale as soon as a tracking semaphore advanced past them. Execute the work at the release method for every push read through a trusted ring; swept-RAM decoding still never runs work. Count op runs in the sweep stats (ringops).
Diffstat (limited to 'kernel/bar_init.c')
0 files changed, 0 insertions, 0 deletions