Commit 9c2be694 authored by Chris Wilson's avatar Chris Wilson

igt/gem_wait: Use explicit timers

Rather than guestimating a workload that should take a certain amount of
time, use a sigitimer to terminate a batch (and so complete the wait)
after an exact amount of time. And in the process expand testing to
cover multiple rings and hangcheck.
Signed-off-by: Chris Wilson's avatarChris Wilson <chris@chris-wilson.co.uk>
parent d2109451
......@@ -402,6 +402,24 @@ static inline void igt_ignore_warn(bool value)
"error: %#x " #ncmp " %#x\n", __n1, __n2); \
} while (0)
/**
* igt_assert_cmps64:
* @n1: first value
* @cmp: compare operator
* @ncmp: negated version of @cmp
* @n2: second value
*
* Like igt_assert_cmpuint(), but for larger signed ints.
*/
#define igt_assert_cmps64(n1, cmp, ncmp, n2) \
do { \
int64_t __n1 = (n1), __n2 = (n2); \
if (__n1 cmp __n2) ; else \
__igt_fail_assert(IGT_LOG_DOMAIN, __FILE__, __LINE__, __func__, \
#n1 " " #cmp " " #n2, \
"error: %lld " #ncmp " %lld\n", (long long)__n1, (long long)__n2); \
} while (0)
/**
* igt_assert_cmpu64:
* @n1: first value
......@@ -460,6 +478,15 @@ static inline void igt_ignore_warn(bool value)
*/
#define igt_assert_eq_u32(n1, n2) igt_assert_cmpuint(n1, ==, !=, n2)
/**
* igt_assert_eq_s64:
* @n1: first integer
* @n2: second integer
*
* Like igt_assert_eq_u32(), but for int64_t.
*/
#define igt_assert_eq_s64(n1, n2) igt_assert_cmps64(n1, ==, !=, n2)
/**
* igt_assert_eq_u64:
* @n1: first integer
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment