summaryrefslogtreecommitdiff
path: root/tests/i915/gem_exec_schedule.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2020-05-26 17:13:41 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2020-05-26 21:15:33 +0100
commitcc5f9f1a4f630c7b7f8bbdc835d21181551012fb (patch)
tree6a3735b832f48f169c2138d54acf85eeae2c6a89 /tests/i915/gem_exec_schedule.c
parentf1e62e330a6e2de7b3cbf7cf02d71ae00cc6adcc (diff)
i915/gem_exec_schedule: Fix measurement of ring size to use right engine
gem_ring_measure_inflight() uses the legacy ring idx, whereas gem_exec_schedule is using the new dynamic ctx->engine[] indices. Mismatch and hanging tests ensue. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Diffstat (limited to 'tests/i915/gem_exec_schedule.c')
-rw-r--r--tests/i915/gem_exec_schedule.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/tests/i915/gem_exec_schedule.c b/tests/i915/gem_exec_schedule.c
index c551e23e..c5390493 100644
--- a/tests/i915/gem_exec_schedule.c
+++ b/tests/i915/gem_exec_schedule.c
@@ -1651,7 +1651,7 @@ static void deep(int fd, unsigned ring)
ctx[n] = gem_context_clone_with_engines(fd, 0);
}
- nreq = gem_measure_ring_inflight(fd, ring, 0) / (4 * XS) * MAX_CONTEXTS;
+ nreq = gem_submission_measure(fd, ring) / (4 * XS) * MAX_CONTEXTS;
if (nreq > max_req)
nreq = max_req;
igt_info("Using %d requests (prio range %d)\n", nreq, max_req);
@@ -1796,9 +1796,8 @@ static int __execbuf(int fd, struct drm_i915_gem_execbuffer2 *execbuf)
static void wide(int fd, unsigned ring)
{
+ const unsigned int ring_size = gem_submission_measure(fd, ring);
struct timespec tv = {};
- unsigned int ring_size = gem_measure_ring_inflight(fd, ring, MEASURE_RING_NEW_CTX);
-
IGT_CORK_FENCE(cork);
uint32_t result;
uint32_t result_read[MAX_CONTEXTS];
@@ -1842,12 +1841,12 @@ static void wide(int fd, unsigned ring)
static void reorder_wide(int fd, unsigned ring)
{
+ const unsigned int ring_size = gem_submission_measure(fd, ring);
const int gen = intel_gen(intel_get_drm_devid(fd));
struct drm_i915_gem_relocation_entry reloc;
struct drm_i915_gem_exec_object2 obj[2];
struct drm_i915_gem_execbuffer2 execbuf;
struct timespec tv = {};
- unsigned int ring_size = gem_measure_ring_inflight(fd, ring, MEASURE_RING_NEW_CTX);
IGT_CORK_FENCE(cork);
uint32_t result, target;
uint32_t result_read[1024];