[Intel-gfx] [PATCH 1/3] drm/i915: Only bind each object rather than for every execbuffer

Daniel Vetter daniel at ffwll.ch
Wed Jan 8 11:38:21 CET 2014


On Wed, Jan 08, 2014 at 10:30:16AM +0000, Chris Wilson wrote:
> On Tue, Jan 07, 2014 at 08:43:28AM +0100, Daniel Vetter wrote:
> > On Wed, Jan 01, 2014 at 02:00:54PM +0000, Chris Wilson wrote:
> > > One side-effect of the introduction of ppgtt was that we needed to
> > > rebind the object into the appropriate vm (and global gtt in some
> > > peculiar cases). For simplicity this was done twice for every object on
> > > every call to execbuffer. However, that adds a tremendous amount of CPU
> > > overhead (rewriting all the PTE for all objects into WC memory) per
> > > draw. The fix is to push all the decision about which vm to bind into
> > > and when down into the low-level bind routines through hints rather than
> > > inside the execbuffer routine.
> > > 
> > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=72906
> > > Tested-by: jianx.zhou at intel.com
> > > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > > Cc: Ben Widawsky <benjamin.widawsky at intel.com>
> > > Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
> > 
> > Can you please split out the code cleanups into a separate patch? I like
> > them, but as is they're hiding the actual bugfix in the diff quite badly
> > imo.
> 
> Which part of this is cleanup?

Coalescing the two boolean parameters mappable and nonblocking into the
flags parameter in a bunch of bind/pin functions and the return value
change for bind_to_vm look like prep cleanup. And there's 1-2 whitespace
fixup hunks in there. Splitting that out as a prep patch will make the
actual fix stick out much more I think.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list