[Intel-gfx] [PATCH 5/8] drm/i915/context: context validation for execbuffer2

Daniel Vetter daniel at ffwll.ch
Mon Feb 14 21:21:22 CET 2011


On Wed, Feb 02, 2011 at 03:00:17PM -0800, Ben Widawsky wrote:
> Adds the support for actually doing something with buffer validation for
> the context when submitted via execbuffer2. When a set of context flags
> are submitted in the execbuffer call, the code is able to handle the
> commands. It will also go through the existing buffers associated with
> the context and make sure they are still present. The big thing missing
> is if the client wants to change the domains of buffers which have
> already been associated. In this case, the client must disassociate and
> then re-associate with the proper domains.

Hm, this remark got me thinking (because currently with read/write domains
per reloc domain changes on the fly are super-simple): Why not drop the
whole associate/disassociate idea and require userspace to always submit a
full list of bos still used by this context (and their required
offsets)?

Upsides:
- No fiddling when reused bos change domains.
- No need to track stuff in the kernel, we only check the offsets.
- Userspace implementation sounds rather straightforward, too: If the
  aperture check fails, submit the batchbuffer and then store all bos
  bound to the current gl context (assuming a one-on-one hw context <-> gl
  context mapping) and their desired domains (also easy because the usage
  is known). Then on the next execbuffer use that stored array for the
  additionally required bos (your flag array).
- Improvements like ppgtt or (re-)pinning bos at the right place can still
  be added incrementally. After all, you already require userspace to be
  able to do a full context restore as part of your abi ...
Downsides:
- Might no be optimal. But given our constant fiddling with the
  batchbuffer submission, expecting to get this right on the first try is
  probably wishful thinking.

Just my 2 (constantly changing) cents on this. Anyway, you've thought much
more about this than me, so I expect you to shoot this down in a
half-sentence ... ;)

Yours, Daniel
-- 
Daniel Vetter
Mail: daniel at ffwll.ch
Mobile: +41 (0)79 365 57 48



More information about the Intel-gfx mailing list