Re: [Intel-gfx] [PATCH 0/9] [RFC] fair-lru eviction

2010-05-19 Thread Chris Wilson
On Tue, 18 May 2010 23:11:42 +0200, Daniel Vetter daniel.vet...@ffwll.ch 
wrote:
 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.

The next adaptation I did was to clean up evict_something to add objects
from the inactive, active!pinned!write, flushing!pinned,
active!pinnedwrite lists. This reduces the logic in evict_something to
a single scan over the available objects in LRU order.

We still need the move-to-inactive-tail upon access by the CPU, and I
think it is acceptable to maintain our preference of the GPU over the CPU.
Recovering memory from the CPU is comparatively cheap.

Comparing 'while :; do yes  /tmp/yes; done  cairo-perf-trace', there is
no significant delta between the fair LRU and current. I'll rebase my
evict_something() on top of your drm_mm, and rerun the tests.

-- 
Chris Wilson, Intel Open Source Technology Centre
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH 0/9] [RFC] fair-lru eviction

2010-05-18 Thread Eric Anholt
On Tue, 18 May 2010 23:11:42 +0200, Daniel Vetter daniel.vet...@ffwll.ch 
wrote:
 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.

Do you have performance numbers on these patches?


pgpGZBf5fIs8Q.pgp
Description: PGP signature
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx