On 5/20/20 6:35 PM, Chris Wilson wrote:
Quoting Nirmoy (2020-05-20 17:28:04)
Hi Chris,
On 5/20/20 12:56 AM, Chris Wilson wrote:
Quoting Nirmoy Das (2020-05-19 09:44:36)
+#define DRM_MM_ALIGN_SHIFT 6
#define HOLE_SIZE(NODE) ((NODE)->hole_size)
#define HOLE_ADDR(NODE) (__drm_mm_hole_node_start(NODE))
+#define HOLE_SIZE_ALIGN(NODE) ((NODE->hole_size << DRM_MM_ALIGN_SHIFT) | \
+ ffs(HOLE_ADDR(NODE)))
Fwiw, max hole size of 58b, we would need to stop storing byte
extents...
Can you please explain 2nd part of this statement.
Currently we [i915] use drm_mm with byte-addressing, so 58b is a tad too
close to the amount we actually need to track. If we used page tracking
instead of bytes, we regain 12b to play around with. It makes no
difference to the code at the moment (e.g. we still could not fit within
u32) so there has been no pressure to rewrite the extents handling. But
given sufficient reason, we could.
-Chris
Thanks for the detailed explanation.
Nirmoy
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel