diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2011-02-18 17:59:12 +0100 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2011-02-23 10:32:34 +1000 |
commit | ea7b1dd44867e9cd6bac67e7c9fc3f128b5b255c (patch) | |
tree | 2feb9852ab18e2f726136ae460e414ef40425129 /lib/inflate.c | |
parent | 31a5b8ce8f3bf20799eb68da9602de2bee58fdd3 (diff) |
drm: mm: track free areas implicitly
The idea is to track free holes implicitly by marking the allocation
immediatly preceeding a hole.
To avoid an ugly corner case add a dummy head_node to struct drm_mm
to track the hole that spans to complete allocation area when the
memory manager is empty.
To guarantee that there's always a preceeding/following node (that might
be marked as hole_follows == 1), move the mm->node_list list_head to the
head_node.
The main allocator and fair-lru scan code actually becomes simpler.
Only the debug code slightly suffers because free areas are no longer
explicit.
Also add drm_mm_for_each_node (which will be much more useful when
struct drm_mm_node is embeddable).
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'lib/inflate.c')
0 files changed, 0 insertions, 0 deletions