OSDN Git Service

drm/i915: Call cond_resched() before repeating i915_gem_evict_something()
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 24 Oct 2017 20:50:53 +0000 (21:50 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Wed, 25 Oct 2017 11:13:02 +0000 (12:13 +0100)
commit753bdbd001dca74f9f4528d7be415801f043748a
tree60ef4e56ccc08ff2e1632dc452e6633d45bfec3d
parentcfddadc98abc85f478c92187c944e0ee963f741b
drm/i915: Call cond_resched() before repeating i915_gem_evict_something()

Insert a breakpoint, a chance to escape back to the scheduler and run
something else for a bit, if we find that the GGTT is full and needs to
be idled in order to make some room. In practice, this should only be an
issue in stress tests as the wait itself will normally give the chance
for the scheduler to intervene and make progress.

References: https://bugs.freedesktop.org/show_bug.cgi?id=103438
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171024205053.7845-1-chris@chris-wilson.co.uk
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
drivers/gpu/drm/i915/i915_gem_evict.c