summaryrefslogtreecommitdiffstats
path: root/docs/02-getting-started
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-27 16:36:48 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-27 16:36:48 -0400
commit28c8c8e9635a072abe52b08b30b6d9607cfb0768 (patch)
tree10633942f1498a0fcf378632e6d68536fd82b1b8 /docs/02-getting-started
parentf6e8a70fd4288d6fa11aa67a4d2a0e9a50f534dd (diff)
downloadopen-iov-28c8c8e9635a072abe52b08b30b6d9607cfb0768.tar.gz
open-iov-28c8c8e9635a072abe52b08b30b6d9607cfb0768.zip
vgsp: notify keepalive on registered notifier slots + 8GB demo guest
r864 ground truth while wedged: both the RC-watchdog channel (0x31415900) and the X/GL channel (0x1000013) sit with their class2d notification ARMED (u16 status 0xFFFF at notifier_pa + 0x3E = slot-3 struct status) and nothing ever clears them (X notified=0 after 459 submissions), so the guest krcWatchdog fires 'GPU is probably locked' every ~8.2 s and the whole X/GL stack wedges (glxgears poll() never returns; late XOOM death). Under the mirrored flow the watchdog ring reads go unreadable (rc=-2), so the decode-time ack and the notify2d_va path both miss. svc_notify2d_keepalive(): every pass, every GR channel with a registered notifier PA, read slots 0..3; for each slot armed exactly 0xFFFF write the zeroed 16-byte NvNotification and post the channel event - the same effects as svc_notify_complete without any ring read. Also bump the demo harness guest RAM to 8GB (launch_qemu_rootport.sh) to survive the observed emulation-path allocation growth during accelerated runs.
Diffstat (limited to 'docs/02-getting-started')
0 files changed, 0 insertions, 0 deletions