Re: [PATCH i-g-t v2 2/2] tests/gem_reset_stats: Enforce full chip reset mode before run

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

 





On 28/06/17 11:37, Michel Thierry wrote:
Platforms with per-engine reset enabled (i915.reset=2) are unlikely to
perform a full chip reset, keeping the reset_count unmodified. In order
to keep the expectations of this test, enforce that full GPU reset is
enabled (i915.reset=1).

Later on, we can expand the reset_stats ioctl to also return the number
of per-engine resets and use reset_count + reset_engine_count when
checking for the updated reset count.

v2: Rebase, don't use gem_gpu_reset_type directly, since we now have
additional helpers.

Cc: Arkadiusz Hiler <arkadiusz.hiler@xxxxxxxxx>
Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx>
---
  tests/gem_reset_stats.c | 20 ++++++++++++++++++++
  1 file changed, 20 insertions(+)

diff --git a/tests/gem_reset_stats.c b/tests/gem_reset_stats.c
index 73afeeb2..9ac08aab 100644
--- a/tests/gem_reset_stats.c
+++ b/tests/gem_reset_stats.c
@@ -27,6 +27,8 @@
#define _GNU_SOURCE
  #include "igt.h"
+#include "igt_sysfs.h"
+#include <limits.h>
  #include <stdbool.h>
  #include <unistd.h>
  #include <stdlib.h>
@@ -777,15 +779,24 @@ igt_main
  		int fd;
bool has_reset_stats;
+		bool using_full_reset;
  		fd = drm_open_driver(DRIVER_INTEL);
  		devid = intel_get_drm_devid(fd);
has_reset_stats = gem_has_reset_stats(fd); + igt_assert(igt_sysfs_set_parameter
+			   (fd, "reset", "%d", 1 /* only global reset */));
+
+		using_full_reset = !gem_engine_reset_enabled(fd) &&
+				   gem_gpu_reset_enabled(fd);
+
  		close(fd);
igt_require_f(has_reset_stats,
  			      "No reset stats ioctl support. Too old kernel?\n");
+		igt_require_f(using_full_reset,
+			      "Full GPU reset is not enabled. Is enable_hangcheck set?\n");
  	}
igt_subtest("params")
@@ -831,4 +842,13 @@ igt_main
  		igt_subtest_f("defer-hangcheck-%s", e->name)
  			RUN_TEST(defer_hangcheck(e));
  	}
+
+	igt_fixture {
+		int fd;
+
+		fd = drm_open_driver(DRIVER_INTEL);
+		igt_assert(igt_sysfs_set_parameter
+			   (fd, "reset", "%d", INT_MAX /* any reset method */));

I would still suggest that we restore the reset value we had at the beginning of the test. I think that since we disabled single engine, this would actually set the parameter to an unsafe value.

Thanks,
Antonio

+		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