[Intel-gfx] [PATCH v2 12/15] drm/i915/create: apply ALLOC_GPU_ONLY by default
matthew.william.auld at gmail.com
Fri Feb 11 10:00:39 UTC 2022
On Fri, 11 Feb 2022 at 09:56, Thomas Hellström
<thomas.hellstrom at linux.intel.com> wrote:
> On 2/11/22 10:52, Matthew Auld wrote:
> > On Fri, 11 Feb 2022 at 09:49, Thomas Hellström
> > <thomas.hellstrom at linux.intel.com> wrote:
> >> On 2/10/22 13:13, Matthew Auld wrote:
> >>> Starting from DG2+, when dealing with LMEM, we assume that by default
> >>> all userspace allocations should be placed in the non-mappable portion
> >>> of LMEM. Note that dumb buffers are not included here, since these are
> >>> not "GPU accelerated" and likely need CPU access.
> >>> In a later patch userspace will be able to provide a hint if CPU access
> >>> to the buffer is needed.
> >>> Signed-off-by: Matthew Auld <matthew.auld at intel.com>
> >>> Cc: Thomas Hellström <thomas.hellstrom at linux.intel.com>
> >>> ---
> >>> drivers/gpu/drm/i915/gem/i915_gem_create.c | 9 +++++++++
> >>> 1 file changed, 9 insertions(+)
> >>> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_create.c b/drivers/gpu/drm/i915/gem/i915_gem_create.c
> >>> index 9402d4bf4ffc..cc9ddb943f96 100644
> >>> --- a/drivers/gpu/drm/i915/gem/i915_gem_create.c
> >>> +++ b/drivers/gpu/drm/i915/gem/i915_gem_create.c
> >>> @@ -424,6 +424,15 @@ i915_gem_create_ext_ioctl(struct drm_device *dev, void *data,
> >>> ext_data.n_placements = 1;
> >>> }
> >>> + /*
> >>> + * TODO: add a userspace hint to force CPU_ACCESS for the object, which
> >>> + * can override this.
> >>> + */
> >>> + if (!IS_DG1(i915) && (ext_data.n_placements > 1 ||
> >>> + ext_data.placements->type !=
> >>> + INTEL_MEMORY_SYSTEM))
> >>> + ext_data.flags |= I915_BO_ALLOC_GPU_ONLY;
> >>> +
> >> WRT previous review comment here, it would be easier to follow if the bo
> >> was marked as a GPU only buffer regardless. Then for example capture and
> >> other functions where it actually matters can choose to take action
> >> based on, for example, whether the BAR is restricted or not?
> > Yeah, I completely forgot about this, sorry. Will fix now.
> Actually you did reply, but I forgot to reply to that :).
Hmm, should we just drop the IS_DG1() check here(that was my first
thought), or go further and still apply even regardless of placements?
i.e it would be set on integrated
More information about the Intel-gfx