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
struct drm_i915_gem_create_ext_memory_regions { /** @base: Extension link. See struct i915_user_extension. */
- I915_MEMORY_CLASS_DEVICE regions. > */