[Nouveau] A seemingly plausible userspace command submission model.

Maarten Maathuis
Sat, 21 Mar 2009 01:55:55 -0000

Please tell me what can't work about this idea.

- Introduce concept of "batches", through some kind of marker (tied to
fences).
- Request buffers up front, userspace does all relocation (avoid
teaching the kernel about tiling, etc).
- Driver stores state for each batch.
- FIRE_RING becomes an ioctl that can fail (imagine backgrounded app
holding pinned memory for too long).
==> This means no direct access to put and get.
- Memory is pinned for the duration of the batch.

It's a rough outline, but i'd like to know what exactly is forcing is
to use kernel submission.

Maarten.