[Intel-gfx] [PATCH i-g-t] perf: Flush the work between rounds of gen8-unprivileged-single-ctx-counter
Lionel Landwerlin
lionel.g.landwerlin at intel.com
Wed Apr 29 15:23:34 UTC 2020
On 29/04/2020 18:05, Chris Wilson wrote:
> 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>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Thanks,
-Lionel
> ---
> 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);
More information about the Intel-gfx
mailing list