Message ID | 20220425162430.28844-5-ramalingam.c@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Flat-CCS eviction enhancements | expand |
On 25/04/2022 17:24, Ramalingam C wrote: > Capture the impact of memory region preference list of an object, on > their memory residency and Flat-CCS capability of the objects. > > v2: > Fix the Flat-CCS capability of an obj with {lmem, smem} preference > list [Thomas] > > Signed-off-by: Ramalingam C <ramalingam.c@intel.com> > cc: Matthew Auld <matthew.auld@intel.com> > cc: Thomas Hellstrom <thomas.hellstrom@linux.intel.com> > --- > include/uapi/drm/i915_drm.h | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > > diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h > index 35ca528803fd..ad191ed6547c 100644 > --- a/include/uapi/drm/i915_drm.h > +++ b/include/uapi/drm/i915_drm.h > @@ -3393,6 +3393,24 @@ struct drm_i915_gem_create_ext { > * At which point we get the object handle in &drm_i915_gem_create_ext.handle, > * along with the final object size in &drm_i915_gem_create_ext.size, which > * should account for any rounding up, if required. > + * > + * Objects with multiple memory regions in the preference list will be backed > + * by one of the memory regions mentioned in the preference list. Though I915 > + * tries to honour the order of the memory regions in the preference list, > + * based on the memory pressure of the regions, objects' backing region > + * will be selected. > + * > + * Userspace has no means of knowing the backing region for such objects. "Note that userspace has no means of knowing the current backing region for objects where @num_regions is larger than one. The kernel will only ensure that the priority order of the @regions array is honoured, either when initially placing the object, or when moving memory around due to memory pressure." > + * > + * On Flat-CCS capable HW, compression is supported for the objects residing > + * in I915_MEMORY_CLASS_DEVICE. When such objects (compressed) has other > + * memory class in preference list and migrated (by I915, due to memory > + * constrain) to the non I915_MEMORY_CLASS_DEVICE region, then I915 needs to > + * decompress the content. But I915 dont have the required information to "doesn't", also prefer @regions etc instead of "preference list" Anyway, Reviewed-by: Matthew Auld <matthew.auld@intel.com> > + * decompress the userspace compressed objects. > + * > + * So I915 supports Flat-CCS, only on the objects which can reside only on > + * I915_MEMORY_CLASS_DEVICE regions. > */ > struct drm_i915_gem_create_ext_memory_regions { > /** @base: Extension link. See struct i915_user_extension. */
diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h index 35ca528803fd..ad191ed6547c 100644 --- a/include/uapi/drm/i915_drm.h +++ b/include/uapi/drm/i915_drm.h @@ -3393,6 +3393,24 @@ struct drm_i915_gem_create_ext { * At which point we get the object handle in &drm_i915_gem_create_ext.handle, * along with the final object size in &drm_i915_gem_create_ext.size, which * should account for any rounding up, if required. + * + * Objects with multiple memory regions in the preference list will be backed + * by one of the memory regions mentioned in the preference list. Though I915 + * tries to honour the order of the memory regions in the preference list, + * based on the memory pressure of the regions, objects' backing region + * will be selected. + * + * Userspace has no means of knowing the backing region for such objects. + * + * On Flat-CCS capable HW, compression is supported for the objects residing + * in I915_MEMORY_CLASS_DEVICE. When such objects (compressed) has other + * memory class in preference list and migrated (by I915, due to memory + * constrain) to the non I915_MEMORY_CLASS_DEVICE region, then I915 needs to + * decompress the content. But I915 dont have the required information to + * decompress the userspace compressed objects. + * + * So I915 supports Flat-CCS, only on the objects which can reside only on + * I915_MEMORY_CLASS_DEVICE regions. */ struct drm_i915_gem_create_ext_memory_regions { /** @base: Extension link. See struct i915_user_extension. */
Capture the impact of memory region preference list of an object, on their memory residency and Flat-CCS capability of the objects. v2: Fix the Flat-CCS capability of an obj with {lmem, smem} preference list [Thomas] Signed-off-by: Ramalingam C <ramalingam.c@intel.com> cc: Matthew Auld <matthew.auld@intel.com> cc: Thomas Hellstrom <thomas.hellstrom@linux.intel.com> --- include/uapi/drm/i915_drm.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)