[Intel-gfx] [PATCH 0/9] [RFC] fair-lru eviction
Daniel Vetter
daniel.vetter at ffwll.ch
Tue May 18 23:11:42 CEST 2010
Hi all,
This patch series implements the fair-lru eviction Chris Wilson already
posted with a twist. It's essentially the same idea & algorithm.
Differnences versus his patch:
- Doesn't do any allocations while scanning.
- Implemented in drm_mm.c
In other words, this should also be usable by ttm. The idea is simple:
Scan through the lru, marking objects as evictable until there is a
large area of memory free/free-able. Then walk through all the scanned
objects in reverse, checking which ones fall into this hole. Finally
evicting them.
Comments, ideas highly welcome.
As per usual, I couldn't resist and had to clean up the code in drm_mm.c a
little.
Yours, Daniel
Daniel Vetter (9):
list.h: add list_for_each_entry_safe_from_reverse
drm: use list_for_each_entry in drm_mm.c
drm: kill drm_mm_node->private
drm: kill dead code in drm_mm.c
drm: sane naming for drm_mm.c
drm_mm: extract check_free_mm_node
drm: implement helper functions for scanning lru list
drm/i915: prepare for fair lru eviction
drm/i915: implement fair lru eviction
drivers/gpu/drm/drm_mm.c | 359 ++++++++++++++++++++++++-------------
drivers/gpu/drm/i915/i915_gem.c | 122 ++++++++-----
drivers/gpu/drm/ttm/ttm_bo.c | 6 -
drivers/gpu/drm/ttm/ttm_bo_util.c | 2 -
include/drm/drm_mm.h | 27 +++-
include/linux/list.h | 15 ++
6 files changed, 347 insertions(+), 184 deletions(-)
More information about the Intel-gfx
mailing list