[Intel-gfx] [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 Intel-gfx
mailing list