summaryrefslogtreecommitdiff
path: root/lib/i915/gem_ring.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2019-08-12 11:30:28 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2019-08-12 15:35:35 +0100
commita49a3a6cdbc4949c0ae8df5f3d8c3e476aefdea1 (patch)
treea10b344f38d07558e4cb0395fa147ba4b82d6bd9 /lib/i915/gem_ring.c
parentf43f5fa12ac1b93febfe3eeb9e9985f5f3e2eff0 (diff)
lib/i915: Trim ring measurement by one
Be a little more conservative in our ring measurement and exclude one batch to leave room in case our user needs to wrap (where a request will be expanded to cover the unused space at the end of the ring). References: https://bugs.freedesktop.org/show_bug.cgi?id=111374 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Diffstat (limited to 'lib/i915/gem_ring.c')
-rw-r--r--lib/i915/gem_ring.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/i915/gem_ring.c b/lib/i915/gem_ring.c
index fdb9fc1b..bf7f439e 100644
--- a/lib/i915/gem_ring.c
+++ b/lib/i915/gem_ring.c
@@ -103,7 +103,7 @@ __gem_measure_ring_inflight(int fd, unsigned int engine, enum measure_ring_flags
} while (1);
igt_assert_eq(__execbuf(fd, &execbuf), -EINTR);
- igt_assert(count);
+ igt_assert(count > 1);
memset(&itv, 0, sizeof(itv));
setitimer(ITIMER_REAL, &itv, NULL);
@@ -118,7 +118,8 @@ __gem_measure_ring_inflight(int fd, unsigned int engine, enum measure_ring_flags
gem_quiescent_gpu(fd);
- return count;
+ /* Be conservative in case we must wrap later */
+ return count - 1;
}
/**