[Intel-gfx] [PATCH igt] igt/sw_sync: Fix up close(timeline) tests for unsignaled fences
Chris Wilson
chris at chris-wilson.co.uk
Mon Sep 11 12:35:10 UTC 2017
Following
kernel commit ea4d5a270b57fa8d4871f372ca9b97b7697fdfda
Author: Dominik Behr <dbehr at chromium.org>
Date: Thu Sep 7 16:02:46 2017 -0300
dma-buf/sw_sync: force signal all unsignaled fences on dying timeline
To avoid hanging userspace components that might have been waiting on the
active fences of the destroyed timeline we need to signal with error all
remaining fences on such timeline.
This restore the default behaviour of the Android sw_sync framework, which
Android still relies on. It was broken on the dma fence conversion a few
years ago and never fixed.
unsignaled fences are now signaled and flagged with ENOENT when the
timeline is closed. Fixup timeline_closed_signaled to match.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102650
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
---
tests/sw_sync.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tests/sw_sync.c b/tests/sw_sync.c
index 946592e8..20dfbbb9 100644
--- a/tests/sw_sync.c
+++ b/tests/sw_sync.c
@@ -82,8 +82,10 @@ static void test_timeline_closed(void)
fence = sw_sync_timeline_create_fence(timeline, 1);
close(timeline);
- igt_assert_f(sync_fence_wait(fence, 0) == -ETIME,
+ igt_assert_f(sync_fence_wait(fence, 0) == 0,
"Failure waiting on unsignaled fence on closed timeline\n");
+ igt_assert_f(sync_fence_status(fence) == -ENOENT,
+ "Failure in marking up an unsignaled fence on closed timeline\n");
}
static void test_timeline_closed_signaled(void)
--
2.14.1
More information about the Intel-gfx
mailing list