drm/i915: evict VM instead of everything
authorBen Widawsky <benjamin.widawsky@intel.com>
Wed, 11 Sep 2013 21:57:50 +0000 (14:57 -0700)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 12 Sep 2013 19:58:22 +0000 (21:58 +0200)
commit68c8c17f527effba57f4e82efee18a249c6a1b58
treea05723acd6d127cbe0a10815775821eb4746582b
parent7b7961220f1426aa795a3ded3404470b1c5749b6
drm/i915: evict VM instead of everything

When reserving objects during execbuf, it is possible to come across an
object which will not fit given the current fragmentation of the address
space. We do not have any defragment in drm_mm, so the strategy is to
instead evict everything, and reallocate objects.

With the upcoming addition of multiple VMs, there is no point to evict
everything since doing so is overkill for the specific case mentioned
above.

Recommended-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
[danvet: One additional s/evict_everything/evict_vm/ to update a
comment in the code.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_gem_evict.c
drivers/gpu/drm/i915/i915_gem_execbuffer.c