diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2019-08-12 11:30:28 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2019-08-12 15:35:35 +0100 |
commit | a49a3a6cdbc4949c0ae8df5f3d8c3e476aefdea1 (patch) | |
tree | a10b344f38d07558e4cb0395fa147ba4b82d6bd9 /lib | |
parent | f43f5fa12ac1b93febfe3eeb9e9985f5f3e2eff0 (diff) | |
download | platform_external_igt-gpu-tools-a49a3a6cdbc4949c0ae8df5f3d8c3e476aefdea1.tar.gz platform_external_igt-gpu-tools-a49a3a6cdbc4949c0ae8df5f3d8c3e476aefdea1.tar.bz2 platform_external_igt-gpu-tools-a49a3a6cdbc4949c0ae8df5f3d8c3e476aefdea1.zip |
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')
-rw-r--r-- | lib/i915/gem_ring.c | 5 |
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; } /** |