From a49a3a6cdbc4949c0ae8df5f3d8c3e476aefdea1 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Mon, 12 Aug 2019 11:30:28 +0100 Subject: 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 Reviewed-by: Mika Kuoppala --- lib/i915/gem_ring.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'lib') 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; } /** -- cgit v1.2.3