[Intel-gfx] [i-g-t] igt/gem_reset_stats: Fix pending batches status expectation
Michel Thierry
michel.thierry at intel.com
Fri Jun 9 17:54:13 UTC 2017
On 6/9/2017 10:02 AM, Antonio Argenziano wrote:
> Test expects pending batches to be discarded after a reset. That is no
> longer the case. Fixed to expect a normal execution.
You could expand this to say:
after commit 821ed7df6e2a ("drm/i915: Update reset path to fix
incomplete requests"), that is no longer the case.
>
> Cc: Michel Thierry <michel.thierry at intel.com>
>
> Signed-off-by: Antonio Argenziano <antonio.argenziano at intel.com>
If we want the test to pass, then it's ok. Someone else may say we need
further subtests.
On the basis this brings existing tests to the current expectation,
Reviewed-by: Michel Thierry <michel.thierry at intel.com>
(with the updated commit msg).
-Michel
> ---
> tests/gem_reset_stats.c | 24 +++++++-----------------
> 1 file changed, 7 insertions(+), 17 deletions(-)
>
> diff --git a/tests/gem_reset_stats.c b/tests/gem_reset_stats.c
> index c4ce4ac2..73afeeb2 100644
> --- a/tests/gem_reset_stats.c
> +++ b/tests/gem_reset_stats.c
> @@ -239,7 +239,7 @@ static void test_rs(const struct intel_execution_engine *e,
> if (i == hang_index)
> assert_reset_status(i, fd[i], 0, RS_BATCH_ACTIVE);
> if (i > hang_index)
> - assert_reset_status(i, fd[i], 0, RS_BATCH_PENDING);
> + assert_reset_status(i, fd[i], 0, RS_NO_ERROR);
> }
>
> igt_assert(igt_seconds_elapsed(&ts_injected) <= 30);
> @@ -312,10 +312,10 @@ static void test_rs_ctx(const struct intel_execution_engine *e,
> RS_BATCH_ACTIVE);
> if (i == hang_index && j > hang_context)
> assert_reset_status(i, fd[i], ctx[i][j],
> - RS_BATCH_PENDING);
> + RS_NO_ERROR);
> if (i > hang_index)
> assert_reset_status(i, fd[i], ctx[i][j],
> - RS_BATCH_PENDING);
> + RS_NO_ERROR);
> }
> }
>
> @@ -330,7 +330,7 @@ static void test_ban(const struct intel_execution_engine *e)
> struct local_drm_i915_reset_stats rs_bad, rs_good;
> int fd_bad, fd_good;
> int ban, retry = 10;
> - int active_count = 0, pending_count = 0;
> + int active_count = 0;
>
> fd_bad = drm_open_driver(DRIVER_INTEL);
> fd_good = drm_open_driver(DRIVER_INTEL);
> @@ -350,9 +350,6 @@ static void test_ban(const struct intel_execution_engine *e)
> noop(fd_good, 0, e);
> noop(fd_good, 0, e);
>
> - /* The second hang will count as pending and be discarded */
> - active_count--;
> - pending_count += 1; /* inject hang does 1 real exec + 1 dummy */
> while (retry--) {
> inject_hang(fd_bad, 0, e, BAN);
> active_count++;
> @@ -373,12 +370,10 @@ static void test_ban(const struct intel_execution_engine *e)
> assert_reset_status(fd_bad, fd_bad, 0, RS_BATCH_ACTIVE);
> igt_assert_eq(gem_reset_stats(fd_bad, 0, &rs_bad), 0);
> igt_assert_eq(rs_bad.batch_active, active_count);
> - igt_assert_eq(rs_bad.batch_pending, pending_count);
>
> - assert_reset_status(fd_good, fd_good, 0, RS_BATCH_PENDING);
> + assert_reset_status(fd_good, fd_good, 0, RS_NO_ERROR);
> igt_assert_eq(gem_reset_stats(fd_good, 0, &rs_good), 0);
> igt_assert_eq(rs_good.batch_active, 0);
> - igt_assert_eq(rs_good.batch_pending, 2);
>
> close(fd_bad);
> close(fd_good);
> @@ -389,7 +384,7 @@ static void test_ban_ctx(const struct intel_execution_engine *e)
> struct local_drm_i915_reset_stats rs_bad, rs_good;
> int fd, ban, retry = 10;
> uint32_t ctx_good, ctx_bad;
> - int active_count = 0, pending_count = 0;
> + int active_count = 0;
>
> fd = drm_open_driver(DRIVER_INTEL);
>
> @@ -414,9 +409,6 @@ static void test_ban_ctx(const struct intel_execution_engine *e)
> noop(fd, ctx_good, e);
> noop(fd, ctx_good, e);
>
> - /* This second hang will count as pending and be discarded */
> - active_count--;
> - pending_count++;
> while (retry--) {
> inject_hang(fd, ctx_bad, e, BAN);
> active_count++;
> @@ -437,12 +429,10 @@ static void test_ban_ctx(const struct intel_execution_engine *e)
> assert_reset_status(fd, fd, ctx_bad, RS_BATCH_ACTIVE);
> igt_assert_eq(gem_reset_stats(fd, ctx_bad, &rs_bad), 0);
> igt_assert_eq(rs_bad.batch_active, active_count);
> - igt_assert_eq(rs_bad.batch_pending, pending_count);
>
> - assert_reset_status(fd, fd, ctx_good, RS_BATCH_PENDING);
> + assert_reset_status(fd, fd, ctx_good, RS_NO_ERROR);
> igt_assert_eq(gem_reset_stats(fd, ctx_good, &rs_good), 0);
> igt_assert_eq(rs_good.batch_active, 0);
> - igt_assert_eq(rs_good.batch_pending, 2);
>
> close(fd);
> }
>
More information about the Intel-gfx
mailing list