[Intel-gfx] [PATCH 1/3] drm: Track drm_mm nodes with an interval tree

Daniel Vetter daniel at ffwll.ch
Thu Oct 22 01:07:16 PDT 2015

On Wed, Oct 21, 2015 at 5:14 PM, David Herrmann <dh.herrmann at gmail.com> wrote:
> On Wed, Oct 21, 2015 at 5:11 PM, Daniel Vetter <daniel at ffwll.ch> wrote:
>> On Tue, Oct 06, 2015 at 11:53:09AM +0100, Chris Wilson wrote:
>>> In addition to the last-in/first-out stack for accessing drm_mm nodes,
>>> we occasionally and in the future often want to find a drm_mm_node by an
>>> address. To do so efficiently we need to track the nodes in an interval
>>> tree - lookups for a particular address will then be O(lg(N)), where N
>>> is the number of nodes in the range manager as opposed to O(N).
>>> Insertion however gains an extra O(lg(N)) step for all nodes
>>> irrespective of whether the interval tree is in use. For future i915
>>> patches, eliminating the linear walk is a significant improvement.
>>> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
>>> Cc: dri-devel at lists.freedesktop.org
>> Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>
>> I guess for simpler merge ordering we can just pull this into drm-intel
>> and patch up the vma manager (just need to drop a lot of code and adjust
>> the search to use the drm_mm internal_tree nodes) later on.
> Agreed.
> Acked-by: David Herrmann <dh.herrmann at gmail.com>

Also has Dave's irc-ack for pushing through drm-intel.
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

More information about the Intel-gfx mailing list