07 Jul, 2010

3 commits

  • These helper functions can be used to efficiently scan lru list
    for eviction. Eviction becomes a three stage process:
    1. Scanning through the lru list until a suitable hole has been found.
    2. Scan backwards to restore drm_mm consistency and find out which
    objects fall into the hole.
    3. Evict the objects that fall into the hole.

    These helper functions don't allocate any memory (at the price of
    not allowing any other concurrent operations). Hence this can also be
    used for ttm (which does lru scanning under a spinlock).

    Evicting objects in this fashion should be more fair than the current
    approach by i915 (scan the lru for a object large enough to contain
    the new object). It's also more efficient than the current approach used
    by ttm (uncoditionally evict objects from the lru until there's enough
    free space).

    Signed-Off-by: Daniel Vetter
    Acked-by: Thomas Hellstrom
    Signed-off-by: Chris Wilson
    Signed-off-by: Dave Airlie

    Daniel Vetter
     
  • Yeah, I've kinda noticed that fl_entry is the free stack. Still
    give it (and the memory node list ml_entry) decent names.

    Signed-off-by: Daniel Vetter
    Acked-by: Thomas Hellstrom
    Signed-off-by: Chris Wilson
    Signed-off-by: Dave Airlie

    Daniel Vetter
     
  • Only ever assigned, never used.

    Signed-off-by: Daniel Vetter
    [glisse: I will re-add if needed for range-restricted allocations]
    Signed-off-by: Chris Wilson
    Signed-off-by: Dave Airlie

    Daniel Vetter
     

10 Dec, 2009

2 commits


08 Sep, 2009

1 commit


02 Sep, 2009

1 commit


19 Jun, 2009

1 commit


12 Jun, 2009

1 commit