Re: [i-g-t] igt/gem_reset_stats: Fix pending batches status expectation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx>

Signed-off-by: Antonio Argenziano <antonio.argenziano@xxxxxxxxx>

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@xxxxxxxxx>

(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);
  }

_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux