[igt-dev] [PATCH i-g-t] perf: Flush the work between rounds of gen8-unprivileged-single-ctx-counter

Chris Wilson chris at chris-wilson.co.uk
Wed Apr 29 15:05:00 UTC 2020


Wait until the GPU is idle before starting a fresh round of probing
gen8-unprivileged-single-ctx-counter. This avoids building up a huge
backlog of render copies, hogging buffers and stale contexts, and
invoking the oomkiller.

v2: Release everything before starting again.

Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
---
 tests/perf.c | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/tests/perf.c b/tests/perf.c
index 74fc8fd87..7bde46af8 100644
--- a/tests/perf.c
+++ b/tests/perf.c
@@ -3762,19 +3762,9 @@ gen8_test_single_ctx_render_target_writes_a_counter(void)
 			igt_assert_eq(ret, 0);
 
 			ret = memcmp(src[0].bo->virtual, dst[0].bo->virtual, 4 * width * height);
-			if (ret != 0) {
-				accumulator_print(&accumulator, "total");
-				/* This needs to be investigated... From time
-				 * to time, the work we kick off doesn't seem
-				 * to happen. WTH?? */
-				exit(EAGAIN);
-			}
-
 			drm_intel_bo_unmap(src[0].bo);
 			drm_intel_bo_unmap(dst[0].bo);
 
-			igt_assert_eq(accumulator.deltas[2 + 26], width * height);
-
 			for (int i = 0; i < ARRAY_SIZE(src); i++) {
 				drm_intel_bo_unreference(src[i].bo);
 				drm_intel_bo_unreference(dst[i].bo);
@@ -3787,6 +3777,17 @@ gen8_test_single_ctx_render_target_writes_a_counter(void)
 			drm_intel_gem_context_destroy(context1);
 			drm_intel_bufmgr_destroy(bufmgr);
 			__perf_close(stream_fd);
+			gem_quiescent_gpu(drm_fd);
+
+			if (ret != 0) {
+				accumulator_print(&accumulator, "total");
+				/* This needs to be investigated... From time
+				 * to time, the work we kick off doesn't seem
+				 * to happen. WTH?? */
+				exit(EAGAIN);
+			}
+
+			igt_assert_eq(accumulator.deltas[2 + 26], width * height);
 		}
 
 		child_ret = igt_wait_helper(&child);
-- 
2.26.2



More information about the igt-dev mailing list