On 2023-05-18 22:11:03, wrote: > From: Fei Yang <fei.yang@xxxxxxxxx> > > 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@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@xxxxxxxxx> > Cc: Chris Wilson <chris.p.wilson@xxxxxxxxxxxxxxx> > Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> > Cc: Andi Shyti <andi.shyti@xxxxxxxxxxxxxxx> > Reviewed-by: Andi Shyti <andi.shyti@xxxxxxxxxxxxxxx> > Acked-by: Jordan Justen <jordan.l.justen@xxxxxxxxx> 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