diff options
| author | Chris Wilson <chris@chris-wilson.co.uk> | 2020-05-26 17:13:41 +0100 |
|---|---|---|
| committer | Chris Wilson <chris@chris-wilson.co.uk> | 2020-05-26 21:15:33 +0100 |
| commit | cc5f9f1a4f630c7b7f8bbdc835d21181551012fb (patch) | |
| tree | 6a3735b832f48f169c2138d54acf85eeae2c6a89 /tests | |
| parent | f1e62e330a6e2de7b3cbf7cf02d71ae00cc6adcc (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')
| -rw-r--r-- | tests/i915/gem_busy.c | 2 | ||||
| -rw-r--r-- | tests/i915/gem_exec_fence.c | 2 | ||||
| -rw-r--r-- | tests/i915/gem_exec_schedule.c | 7 | ||||
| -rw-r--r-- | tests/perf_pmu.c | 2 |
4 files changed, 6 insertions, 7 deletions
diff --git a/tests/i915/gem_busy.c b/tests/i915/gem_busy.c index a3cff23f..ee6a5ca0 100644 --- a/tests/i915/gem_busy.c +++ b/tests/i915/gem_busy.c @@ -232,7 +232,7 @@ static void xchg_u32(void *array, unsigned i, unsigned j) static void close_race(int fd) { const unsigned int ncpus = sysconf(_SC_NPROCESSORS_ONLN); - const unsigned int nhandles = gem_measure_ring_inflight(fd, ALL_ENGINES, 0) / 2; + const unsigned int nhandles = gem_submission_measure(fd, ALL_ENGINES); const struct intel_execution_engine2 *e; unsigned int engines[16], nengine; unsigned long *control; diff --git a/tests/i915/gem_exec_fence.c b/tests/i915/gem_exec_fence.c index 4140bff2..ad22f9f5 100644 --- a/tests/i915/gem_exec_fence.c +++ b/tests/i915/gem_exec_fence.c @@ -1756,7 +1756,7 @@ igt_main long ring_size = 0; igt_fixture { - ring_size = gem_measure_ring_inflight(i915, ALL_ENGINES, 0) - 1; + ring_size = gem_submission_measure(i915, ALL_ENGINES); igt_info("Ring size: %ld batches\n", ring_size); igt_require(ring_size); 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]; diff --git a/tests/perf_pmu.c b/tests/perf_pmu.c index e80f730c..f4db3c10 100644 --- a/tests/perf_pmu.c +++ b/tests/perf_pmu.c @@ -1287,7 +1287,7 @@ static void cpu_hotplug(int gem_fd) static int target_num_interrupts(int i915) { - return min(gem_measure_ring_inflight(i915, I915_EXEC_DEFAULT, 0), 30); + return min(gem_submission_measure(i915, I915_EXEC_DEFAULT), 30); } static void |
