[PATCH v10 2/2] drm/i915: Allow user to set cache at BO creation
Jordan Justen
jordan.l.justen at intel.com
Sun May 21 04:30:52 UTC 2023
On 2023-05-18 22:11:03, wrote:
> From: Fei Yang <fei.yang at intel.com>
>
> To comply with the design that buffer objects shall have immutable
> cache setting through out their life cycle, {set, get}_caching ioctl's
> are no longer supported from MTL onward. With that change caching
> policy can only be set at object creation time. The current code
> applies a default (platform dependent) cache setting for all objects.
> However this is not optimal for performance tuning. The patch extends
> the existing gem_create uAPI to let user set PAT index for the object
> at creation time.
> The new extension is platform independent, so UMD's can switch to using
> this extension for older platforms as well, while {set, get}_caching are
> still supported on these legacy paltforms for compatibility reason.
>
> Test igt at gem_create@create_ext_set_pat posted at
> https://patchwork.freedesktop.org/series/117695/
>
> Tested with https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22878
>
> Signed-off-by: Fei Yang <fei.yang at intel.com>
> Cc: Chris Wilson <chris.p.wilson at linux.intel.com>
> Cc: Matt Roper <matthew.d.roper at intel.com>
> Cc: Andi Shyti <andi.shyti at linux.intel.com>
> Reviewed-by: Andi Shyti <andi.shyti at linux.intel.com>
> Acked-by: Jordan Justen <jordan.l.justen at intel.com>
Nevertheless, I'm still disappointed my suggestion was so quickly shot
down.
I tried to look over our usage Mesa of i915 extensions, and found
this:
I915_GEM_CREATE_EXT_MEMORY_REGIONS:
* If DRM_I915_QUERY_MEMORY_REGIONS is found
I915_GEM_CREATE_EXT_PROTECTED_CONTENT:
* Probed via the current "robust" method. Resulted in 8s driver
startup delay in some bad scenarios.
* Will be guarded by I915_PARAM_PXP_STATUS when available in future
I915_CONTEXT_CREATE_EXT_SETPARAM (I915_CONTEXT_PARAM_ENGINES):
* If DRM_I915_QUERY_ENGINE_INFO is found
I915_GEM_CREATE_EXT_SET_PAT:
* When platform is mtl or newer
I think we will continue to try to find workarounds that imply the
extension's existence, but it could be nice to have a generic way to
find out what extensions the kernel knows about.
-Jordan
More information about the dri-devel
mailing list