[Intel-gfx] [PATCH] igt/gem_ctx_exec: Add lrc lite restore subtest
Daniel Vetter
daniel at ffwll.ch
Tue Apr 14 10:12:39 PDT 2015
On Tue, Apr 14, 2015 at 04:42:58PM +0100, Michel Thierry wrote:
> Exercise lite-restore (re-submit a context that is currently running),
> by queueing several small batchbuffers.
>
> This test helps to validate WaIdleLiteRestore.
>
> Signed-off-by: Michel Thierry <michel.thierry at intel.com>
Applied, thanks.
-Daniel
> ---
> tests/gem_ctx_exec.c | 30 +++++++++++++++++++++++++++++-
> 1 file changed, 29 insertions(+), 1 deletion(-)
>
> diff --git a/tests/gem_ctx_exec.c b/tests/gem_ctx_exec.c
> index 43b38a2..3df939c 100644
> --- a/tests/gem_ctx_exec.c
> +++ b/tests/gem_ctx_exec.c
> @@ -155,7 +155,7 @@ static void big_exec(int fd, uint32_t handle, int ring)
>
> uint32_t handle;
> uint32_t batch[2] = {0, MI_BATCH_BUFFER_END};
> -uint32_t ctx_id;
> +uint32_t ctx_id, ctx_id2;
> int fd;
>
> igt_main
> @@ -215,4 +215,32 @@ igt_main
>
> gem_context_destroy(fd, ctx_id);
> }
> +
> + igt_subtest("lrc-lite-restore") {
> + int i, j;
> +
> + /*
> + * Need 2 contexts to be able to replicate a lite restore,
> + * i.e. a running context is resubmitted.
> + */
> + ctx_id = gem_context_create(fd);
> + ctx_id2 = gem_context_create(fd);
> +
> + /*
> + * Queue several small batchbuffers to be sure we'll send execlists
> + * with 2 valid context, and likely cause a lite restore when ctxB
> + * is resubmitted at the top of the new execlist.
> + */
> + for (i = 0; i < 20; i++) {
> + for (j = 0; j < 200; j++) {
> + igt_assert(exec(fd, handle, I915_EXEC_RENDER, ctx_id) == 0);
> + igt_assert(exec(fd, handle, I915_EXEC_RENDER, ctx_id2) == 0);
> + }
> +
> + gem_sync(fd, handle);
> + }
> +
> + gem_context_destroy(fd, ctx_id);
> + gem_context_destroy(fd, ctx_id2);
> + }
> }
> --
> 2.3.5
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the Intel-gfx
mailing list