Repository navigation
Commit 927c700
committed
graphics plans: record the device-memory fault defect (nextbsd-kernel#71)
A userland reproducer isolated an indefinite block affecting any driver whose
buffers live in device memory. The trigger is the scanout pin: a VRAM BO sits in
system memory until SETCRTC migrates it, after which every fault feeds a
device-BAR pfn to lkpi_vmf_insert_pfn_prot_locked(), which assumes managed shmem
pages, and the faulting thread never wakes.
arm64 options vmwgfx is blocked by this BEFORE its porting cost is reached --
it is TTM/VRAM-based and takes the identical path. A hard
prerequisite the plan did not previously state.
virtio-gpu shmem backing sidesteps the defect entirely, taking the same
branch i915 uses (verified working on hardware). Turns the shmem
helper from purely a cost into partly a benefit. Caveat recorded
for blob resources, which would map device memory.
fallback the VRAM-helper option gains a second, harder strike; the TTM
system-domain recommendation now has a correctness basis rather
than only Wayland capacity.
i915 on real hardware is confirmed unaffected.1 parent 0dc875c commit 927c700
3 files changed
Lines changed: 11 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
274 | 274 | | |
275 | 275 | | |
276 | 276 | | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
277 | 280 | | |
278 | 281 | | |
279 | 282 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
201 | 201 | | |
202 | 202 | | |
203 | 203 | | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
204 | 207 | | |
205 | 208 | | |
206 | 209 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
249 | 249 | | |
250 | 250 | | |
251 | 251 | | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
252 | 257 | | |
253 | 258 | | |
254 | 259 | | |
| |||
0 commit comments