[PATCH i-g-t] tests/i915/perf: trybot: try to fix short-reads

Umesh Nerlige Ramappa umesh.nerlige.ramappa at intel.com
Mon Sep 14 22:39:06 UTC 2020


When checking for EFAULT in short-reads, make sure you weed out lost
reports.

Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa at intel.com>
---
 tests/i915/perf.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/tests/i915/perf.c b/tests/i915/perf.c
index ba477f1c..fbd7b4f3 100644
--- a/tests/i915/perf.c
+++ b/tests/i915/perf.c
@@ -2788,7 +2788,12 @@ test_short_reads(void)
 	/* A read that can't return a single record because it would result
 	 * in a fault on buffer overrun should result in an EFAULT error...
 	 */
-	ret = read(stream_fd, pages + page_size - 16, page_size);
+	do {
+		header = (void *)(pages + page_size - record_size);
+		ret = read(stream_fd,
+			   pages + page_size - 16,
+			   page_size);
+	} while (ret > 0 && header->type == DRM_I915_PERF_RECORD_OA_REPORT_LOST);
 	igt_assert_eq(ret, -1);
 	igt_assert_eq(errno, EFAULT);
 
-- 
2.20.1



More information about the Intel-gfx-trybot mailing list