All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] tests/gem_eio: New ABI - no EIO even from wait_ioctl
@ 2015-11-26 11:34 Daniel Vetter
  2015-11-26 11:34 ` [PATCH 2/2] tests/gem_eio: Resilience against "hanging too fast" Daniel Vetter
                   ` (2 more replies)
  0 siblings, 3 replies; 16+ messages in thread
From: Daniel Vetter @ 2015-11-26 11:34 UTC (permalink / raw)
  To: Intel Graphics Development; +Cc: Daniel Vetter, Daniel Vetter

So there's 3 competing proposals for what wait_ioctl should do wrt
-EIO:

- return -EIO when the gpu is wedged. Not terribly useful for
  userspace since it might race with a hang and then there's no
  guarantee that a subsequent execbuf won't end up in an -EIO.
  Terminally wedge really can only be reliably signalled at execbuf
  time, and userspace needs to cope with that (or decide not to
  bother).

- EIO for any obj that suffered from a reset. This means big internal
  reorginazation in the kernel since currently we track reset stats
  per-ctx and not on the obj. That's also what arb robustness wants.
  We could do this, but this feels like new ABI territory with the
  usual userspace requirements and high hurdles.

- No -EIO at all. Consistent with set_domain_ioctl and simplest to
  implement. Which is what this patch does.

We can always opt to change this later on if there's a real need.

To make the test really exercise this do a full wedged gpu hang, to
make sure -EIO doesn't leak out at all.

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 tests/gem_eio.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/tests/gem_eio.c b/tests/gem_eio.c
index a24c8f1c53b5..8345d1a7a429 100644
--- a/tests/gem_eio.c
+++ b/tests/gem_eio.c
@@ -161,10 +161,14 @@ static void test_wait(int fd)
 {
 	igt_hang_ring_t hang;
 
+	igt_require(i915_reset_control(false));
+
 	hang = igt_hang_ring(fd, I915_EXEC_DEFAULT);
-	igt_assert_eq(__gem_wait(fd, hang.handle, -1), -EIO);
+	igt_assert_eq(__gem_wait(fd, hang.handle, -1), 0);
 	igt_post_hang_ring(fd, hang);
 
+	igt_assert(i915_reset_control(true));
+
 	trigger_reset(fd);
 }
 
-- 
2.1.0

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

^ permalink raw reply related	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2015-12-16 13:48 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-26 11:34 [PATCH 1/2] tests/gem_eio: New ABI - no EIO even from wait_ioctl Daniel Vetter
2015-11-26 11:34 ` [PATCH 2/2] tests/gem_eio: Resilience against "hanging too fast" Daniel Vetter
2015-11-26 12:59   ` Chris Wilson
2015-11-26 14:46     ` Daniel Vetter
2015-11-26 15:34       ` Chris Wilson
2015-11-26 15:51         ` Daniel Vetter
2015-11-26 21:10           ` Chris Wilson
2015-11-30  8:25             ` Daniel Vetter
2015-11-30 10:11 ` [PATCH 1/2] tests/gem_eio: New ABI - no EIO even from wait_ioctl Chris Wilson
2015-12-01  8:28   ` Daniel Vetter
2015-12-01  9:04     ` Chris Wilson
2015-12-01  9:13       ` Daniel Vetter
2015-12-01  9:20         ` Chris Wilson
2015-12-03  8:50           ` Daniel Vetter
2015-12-03  9:00             ` Chris Wilson
2015-12-16 13:48 ` Chris Wilson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.