diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-27 16:36:48 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-27 16:36:48 -0400 |
| commit | 28c8c8e9635a072abe52b08b30b6d9607cfb0768 (patch) | |
| tree | 10633942f1498a0fcf378632e6d68536fd82b1b8 /DUAL-REPORT.md | |
| parent | f6e8a70fd4288d6fa11aa67a4d2a0e9a50f534dd (diff) | |
| download | open-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 'DUAL-REPORT.md')
0 files changed, 0 insertions, 0 deletions
