On Friday, August 22, 2014 07:30:37 AM Chris Wilson wrote:
> On Thu, Aug 21, 2014 at 08:11:23PM -0700, Ben Widawsky wrote:
> > The primary goal of these patches is to introduce what I've started
> > calling, "prelocations" on Broadwell. A prelocation is like a
> > relocation, except not. When a GPU client specifies a prelocation, it is
> > instructing the kernel where in the GPU address the buffer should be
> > mapped. The mechanic works very similarly to a relocation except it uses
> > the execbuffer object to obtain the offset, and bind if needed.
> 
> You are mixing two APIs. One to preallocate an offset at creation
> and one to presume relocations during execbuffer. I'd much rather keep
> the flexible execbuffer approach outlined and first submitted a couple of
> years ago.
> 
> > If a GPU
> > client uses only prelocations, the relocation process can be entirely
> > skipped. This sounds like a big win initially,
> 
> Close to zero if the client uses existing interfaces.
> -Chris

Chris,

I don't know if you've seen Ben's libdrm and Mesa patches, but with a few 
patches to libdrm and virtually zero Mesa changes, he's apparently eliminated 
our need to do any relocations for the 3D driver.  It wasn't invasive at 
all---I was surprised.

With both the CPU and GPU using 48-bit addressing, using the same virtual 
address on both sides and never changing it seems quite appealing.  I'm not 
sure why we would need to do anything different than that.

As I understand it, we still need to let the kernel know what buffers we need 
pinned during the course of the batchbuffer, since we can't take a page fault 
and fetch them as needed.  Reusing the existing relocation list but just not 
doing relocations seems like a simple way to do that without having to invent 
much new API...

What is the 'flexible execbuffer' approach you mention from a few years back?  
I don't remember hearing about it (sorry)...

--Ken

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to