On 13/07/18 03:06, Chris Wilson wrote:
From: Antonio Argenziano <[email protected]>

An hanging batch is nothing more than a spinning batch that never gets
stopped, so re-use the routines implemented in dummyload.c.

v2: Let caller decide spin loop size
v3: Only use loose loops for hangs (Chris)
v4: No requires
v5: Free the spinner
v6: Chamelium exists.

Signed-off-by: Antonio Argenziano <[email protected]>
Signed-off-by: Chris Wilson <[email protected]>
---

  /**
@@ -377,11 +329,11 @@ igt_hang_t igt_hang_ring(int fd, int ring)
   */
  void igt_post_hang_ring(int fd, igt_hang_t arg)
  {
-       if (arg.handle == 0)
+       if (!arg.spin)
                return;
- gem_sync(fd, arg.handle);
-       gem_close(fd, arg.handle);
+       gem_sync(fd, arg.spin->handle); /* Wait until it hangs */

I was expecting a poll spinner + manual reset here.

+       igt_spin_batch_free(fd, arg.spin);
context_set_ban(fd, arg.ctx, arg.ban); diff --git a/lib/igt_gt.h b/lib/igt_gt.h

+
+#define igt_list_for_each_safe(pos, tmp, head, member)                 \

(nitpick) extra tab.

+       for (pos = igt_list_first_entry(head, pos, member),             \
+            tmp = igt_list_next_entry(pos, member);                    \

I trust you and the compiler got all the places that needed changing.

Reviewed-by: Antonio Argenziano <[email protected]>

Thanks for picking-up this. At my speed it would have taken years :).
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to