Skip to content

Commit

Permalink
drm/i915: Timeout lowlevel_hole GTT selftest early
Browse files Browse the repository at this point in the history
Check for a timeout in the lowlevel_hole GTT before we allocate state
for that pass, as our cleanup phase stops on the iteration before the
timeout.

References: https://bugs.freedesktop.org/show_bug.cgi?id=99947
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Matthew Auld <matthew.william.auld@gmail.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170224193315.21072-1-chris@chris-wilson.co.uk
Reviewed-by: Matthew Auld <matthew.william.auld@gmail.com>
  • Loading branch information
Chris Wilson committed Feb 24, 2017
1 parent ef0f411 commit 91e3215
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions drivers/gpu/drm/i915/selftests/i915_gem_gtt.c
Original file line number Diff line number Diff line change
Expand Up @@ -237,18 +237,19 @@ static int lowlevel_hole(struct drm_i915_private *i915,

GEM_BUG_ON(addr + BIT_ULL(size) > vm->total);

if (igt_timeout(end_time,
"%s timed out before %d/%d\n",
__func__, n, count)) {
hole_end = hole_start; /* quit */
break;
}

if (vm->allocate_va_range &&
vm->allocate_va_range(vm, addr, BIT_ULL(size)))
break;

vm->insert_entries(vm, obj->mm.pages, addr,
I915_CACHE_NONE, 0);
if (igt_timeout(end_time,
"%s timed out after %d/%d\n",
__func__, n, count)) {
hole_end = hole_start; /* quit */
break;
}
}
count = n;

Expand Down

0 comments on commit 91e3215

Please sign in to comment.