[Intel-gfx] [PATCH v2 2/2] Revert "drm/i915/lmem: Limit block size to 4G"
Chris Wilson
chris at chris-wilson.co.uk
Wed Dec 2 16:56:26 UTC 2020
Quoting Matthew Auld (2020-12-02 16:40:36)
> On Wed, 2 Dec 2020 at 15:51, Chris Wilson <chris at chris-wilson.co.uk> wrote:
> >
> > Mixing I915_ALLOC_CONTIGUOUS and I915_ALLOC_MAX_SEGMENT_SIZE fared
> > badly. The two directives conflict, with the contiguous request setting
> > the min_order to the full size of the object, and the max-segment-size
> > setting the max_order to the limit of the DMA mapper, resulting in a
> > situation where max_order < min_order, causing our sanity checks to
> > fail.
> >
> > Instead of limiting the buddy block size, in the previous patch we split
> > the oversized buddy into multiple scatterlist elements.
> >
> > Fixes: d2cf0125d4a1 ("drm/i915/lmem: Limit block size to 4G")
> > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > Cc: Niranjana Vishwanathapura <niranjana.vishwanathapura at intel.com>
> > Cc: Matthew Auld <matthew.auld at intel.com>
> > ---
> > + for (sg = obj->mm.pages->sgl; sg; sg = sg_next(sg)) {
> > + if (sg->length > max_segment) {
> > + pr_err("%s: Created an oversized scatterlist entry, %u > %u\n",
> > + __func__, sg->length, max_segment);
>
> err = -EINVAL;
Indeed. Thanks,
-Chris
More information about the Intel-gfx
mailing list