[igt-dev] [PATCH i-g-t 1/3] lib/intel_batchbuffer: Use safe alignment for intel-bb
Zbigniew Kempczyński
zbigniew.kempczynski at intel.com
Fri Mar 4 08:43:45 UTC 2022
On Thu, Mar 03, 2022 at 08:32:18PM +0100, Kamil Konieczny wrote:
> Dnia 2022-03-02 at 13:12:51 +0100, Zbigniew Kempczyński napisał(a):
> > Discrete cards can have different memory alignment requirements
> > when objects used in execbuffer comes from different memory regions.
> > Lets use safe alignment which should be fine regardless objects
> > location.
> >
> > Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
> > Cc: Ashutosh Dixit <ashutosh.dixit at intel.com>
> > Cc: Kamil Konieczny <kamil.konieczny at linux.intel.com>
> > ---
> > lib/intel_batchbuffer.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/lib/intel_batchbuffer.c b/lib/intel_batchbuffer.c
> > index ddb8d8c1fd..e50ab9055e 100644
> > --- a/lib/intel_batchbuffer.c
> > +++ b/lib/intel_batchbuffer.c
> > @@ -1370,7 +1370,7 @@ __intel_bb_create(int i915, uint32_t ctx, uint32_t size, bool do_relocs,
> > ibb->enforce_relocs = do_relocs;
> > ibb->handle = gem_create(i915, size);
> > ibb->size = size;
> > - ibb->alignment = 4096;
> > + ibb->alignment = gem_detect_safe_alignment(i915);
> > ibb->ctx = ctx;
> > ibb->vm_id = 0;
> > ibb->batch = calloc(1, size);
> > @@ -1927,7 +1927,7 @@ intel_bb_add_object(struct intel_bb *ibb, uint32_t handle, uint64_t size,
> > || ALIGN(offset, alignment) == offset);
> >
> > object = __add_to_cache(ibb, handle);
> > - alignment = alignment ?: 4096;
> > + alignment = max_t(uint64_t, alignment, gem_detect_safe_alignment(ibb->i915));
>
> Maybe there should be check if alignment is power of 2 ?
> For example both offset and alignment can be -1 or 2^32 + 1
> we do not catch error then.
You're right. We're not validating alignment correctness on the input.
I'm going add this and resend.
--
Zbigniew
>
> > __add_to_objects(ibb, object);
> >
> > /*
> > --
> > 2.32.0
> >
> Reviewed-by: Kamil Konieczny <kamil.konieczny at linux.intel.com>
>
> --
> Kamil
More information about the igt-dev
mailing list