[Intel-gfx] [PATCH 1/6] RFCish: write only mappings (aka non-blocking)
eric at anholt.net
Tue Sep 20 10:17:25 PDT 2011
On Tue, 20 Sep 2011 13:06:43 +0200, Daniel Vetter <daniel at ffwll.ch> wrote:
> - Why do we need any patches for gtt non-blocking mmaps? I've re-read our
> code, and afaics we're only calling wait_rendering from gem_fault if
> obj->gtt_space == NULL. I.e. there's no way the gpu is currently using
> the data and hence no way for us to block on it. I think the only thing
> needed is a small libdrm batch to enable non-blocking gtt mmaps
> void drm_intel_enable_non_blocking_gtt_mmap(obj)
> which sets a bit somewhere and moves the obj (once) into the gtt domain.
> And a corresponding change in gtt_mmap to disable the set_domain call.
> This only works as long as no one else access the object from the cpu
> domain, but afaics we'll use non-blocking mmaps only for unshared
> buffers, so that should be fine.
> I might also just be dense and not see the issue ...
This was what I was looking for. Ben was concerned that while warming
up towards steady state, the page faults for new pages of the giant
vertex buffer (for example) would end up blocking in the fault handler.
I really have a hard time caring about that case.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 197 bytes
Desc: not available
More information about the Intel-gfx