summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2016-11-09 09:33:13 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2016-11-09 09:36:30 +0000
commit6ba1f98707756eada82328cd2739a3b815382715 (patch)
treebebd5f8f0f7c47e4c875453be8623926db97f8ef
parent721d8747e3a2ae78b4fad33d32e4b4796c90a2af (diff)
igt/gem_exec_reloc: Reduce being interrupted to a warn
If the relocation is incomplete and we take the slow path, we fill the reloc.presumed_offset with -1. This shouldn't happen for the basic tests, at least not on the most recent kernels, yet can happen in older kernels. Just reduce the failure to a warn. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--tests/gem_exec_reloc.c30
1 files changed, 24 insertions, 6 deletions
diff --git a/tests/gem_exec_reloc.c b/tests/gem_exec_reloc.c
index b541b38d..c56fb439 100644
--- a/tests/gem_exec_reloc.c
+++ b/tests/gem_exec_reloc.c
@@ -366,7 +366,10 @@ static void basic_cpu(int fd)
memcpy(&offset, wc + 4000, has_64bit_reloc(fd) ? 8 : 4);
munmap(wc, 4096);
- igt_assert_eq_u64(reloc.presumed_offset, offset);
+ if (reloc.presumed_offset == -1)
+ igt_warn("reloc.presumed_offset == -1\n");
+ else
+ igt_assert_eq_u64(reloc.presumed_offset, offset);
igt_assert_eq_u64(obj.offset, offset);
/* Simulate relocation */
@@ -387,7 +390,10 @@ static void basic_cpu(int fd)
memcpy(&offset, wc + 4000, has_64bit_reloc(fd) ? 8 : 4);
munmap(wc, 4096);
- igt_assert_eq_u64(reloc.presumed_offset, offset);
+ if (reloc.presumed_offset == -1)
+ igt_warn("reloc.presumed_offset == -1\n");
+ else
+ igt_assert_eq_u64(reloc.presumed_offset, offset);
igt_assert_eq_u64(obj.offset, offset);
gem_close(fd, obj.handle);
@@ -430,7 +436,10 @@ static void basic_gtt(int fd)
offset = 0;
memcpy(&offset, wc + 4000, has_64bit_reloc(fd) ? 8 : 4);
- igt_assert_eq_u64(reloc.presumed_offset, offset);
+ if (reloc.presumed_offset == -1)
+ igt_warn("reloc.presumed_offset == -1\n");
+ else
+ igt_assert_eq_u64(reloc.presumed_offset, offset);
igt_assert_eq_u64(obj.offset, offset);
offset = -1;
@@ -447,7 +456,10 @@ static void basic_gtt(int fd)
memcpy(&offset, wc + 4000, has_64bit_reloc(fd) ? 8 : 4);
munmap(wc, 4096);
- igt_assert_eq_u64(reloc.presumed_offset, offset);
+ if (reloc.presumed_offset == -1)
+ igt_warn("reloc.presumed_offset == -1\n");
+ else
+ igt_assert_eq_u64(reloc.presumed_offset, offset);
igt_assert_eq_u64(obj.offset, offset);
gem_close(fd, obj.handle);
@@ -490,7 +502,10 @@ static void basic_noreloc(int fd)
offset = 0;
memcpy(&offset, wc + 4000, has_64bit_reloc(fd) ? 8 : 4);
- igt_assert_eq_u64(reloc.presumed_offset, offset);
+ if (reloc.presumed_offset == -1)
+ igt_warn("reloc.presumed_offset == -1\n");
+ else
+ igt_assert_eq_u64(reloc.presumed_offset, offset);
igt_assert_eq_u64(obj.offset, offset);
/* Simulate relocation */
@@ -504,7 +519,10 @@ static void basic_noreloc(int fd)
memcpy(&offset, wc + 4000, has_64bit_reloc(fd) ? 8 : 4);
munmap(wc, 4096);
- igt_assert_eq_u64(reloc.presumed_offset, offset);
+ if (reloc.presumed_offset == -1)
+ igt_warn("reloc.presumed_offset == -1\n");
+ else
+ igt_assert_eq_u64(reloc.presumed_offset, offset);
igt_assert_eq_u64(obj.offset, offset);
gem_close(fd, obj.handle);