[Intel-gfx] [PATCH] drm/i915: Enforce execobject.alignment to be a power-of-two

Chris Wilson chris at chris-wilson.co.uk
Mon Jun 22 09:09:51 PDT 2015


On Mon, Jun 22, 2015 at 05:32:49PM +0200, Daniel Vetter wrote:
> On Mon, Jun 22, 2015 at 03:28:26PM +0100, Chris Wilson wrote:
> > On Mon, Jun 22, 2015 at 04:08:20PM +0200, Daniel Vetter wrote:
> > > On Mon, Jun 22, 2015 at 12:03:08PM +0100, Damien Lespiau wrote:
> > > > On Fri, Jun 19, 2015 at 01:59:46PM +0100, Chris Wilson wrote:
> > > > > Internal requirement for the alignment is that it must be a
> > > > > power-of-two, so enforce rejection at the user interface to execbuffer
> > > > > (which allows the caller to specify a stricter-than-expected alignment
> > > > > criterion).
> > > > > 
> > > > > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > > > 
> > > > That sounds right in general and I could find at least one instance
> > > > where we rely on alignment being a power of two (eb_vma_misplaced() and
> > > > vma->node.start & (entry->alignment - 1))
> > > > 
> > > > so:
> > > > 
> > > > Reviewed-by: Damien Lespiau <damien.lespiau at intel.com>
> > > 
> > > Needs a nasty igt I think ... Do we have? Applied meanwhile.
> > 
> > Sure, we can demonstrate a bug in the current code that would not
> > realign an object to the arbitrary alignment requested by the user.
> 
> Just checking that the kernel rejects non-pot alignment should be good
> enough. No need imo to write a _that_ nasty igt ;-)

Nah, we will probably fix our pot requirement (given a usecase), so just
that the kernel fails to adhere to the user's request without throwing
an error is the bug.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list