Re: [PATCH 00/03] Preventing zero GPU virtual address allocation

Daniel Vetter
2015-05-27T11:26:39Z

On Wed, May 27, 2015 at 07:54:44AM +0000, Zou, Nanhai wrote:
> > -----Original Message-----
> > From: Intel-gfx [mailto:intel-gfx-bounces@lists.freedesktop.org] On Behalf Of
> > Daniel Vetter
> > Sent: Thursday, May 21, 2015 12:01 AM
> > To: Chris Wilson; intel-gfx
> > Subject: Re: [Intel-gfx] [PATCH 00/03] Preventing zero GPU virtual address
> > allocation
> >
> > On Wed, May 20, 2015 at 03:14:06PM +0100, Chris Wilson wrote:
> > > On Wed, May 20, 2015 at 03:09:43PM +0100, Chris Wilson wrote:
> > > > On Wed, May 20, 2015 at 04:54:19PM +0300, David Weinehall wrote:
> > > > > This patch series (one patch each for libdrm, the kernel, and
> > > > > beignet) aims to provide a means to add a context-specific means
> > > > > to prevent a mapping to GPU virtual address zero. This is needed
> > > > > at least by Beignet (possibly in other use-cases too, though I
> > > > > don't know of any
> > > > > other) to allow use of address zero to represent NULL.
> > > >
> > > > Urm, you cannot allow absolute addressing period. What happens to
> > > > the object at 0 when the user reads from it or writes to it? You
> > > > have to have an object at 0 for the user's NULL pointer access.
> > >
> > > I'll mollify that: outside of full-ppgtt where you need to share the VM.
> >
> > The description is misleading, the new flag doesn't prevent anything from
> > getting mapped at 0 but only prevents any bo submitted through execbuf on
> > the given context from being bound at address 0. If that would happen
> > compute kernels using NULL checks for some things would fall over.
> >
> > Essentially it applies the PIN_BIAS for all execbuf objects, which works even on
> > ggtt execbufs.
> >
> > Patches themselves look good, but we miss the igt to update the invalid ctx
> > flags testcase. And a bare minimal function testcase (which checks the reloc
> > offset with and without a ctx with this flag set) would be nice too.
> > With that and an r-b from the beignet developers I'll pull this in.
> > -Daniel
>
>
> Hi,
> We can verify the patches work for Beignet.

Thanks, I applied the kernel patch. Please push libdrm&beignet patches now
(with the libdrm release+depencies done ofc).

For the libdrm patch please make sure that any uapi header copies are
verbatim copies from the kernel generated with

$ make headers

Thanks, Daniel

>
> Thanks
> Zou Nanhai
>
> > --
> > Daniel Vetter
> > Software Engineer, Intel Corporation
> > http://blog.ffwll.ch
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx

--
Daniel Vetter
Software Engineer, Intel Corporation