Following
kernel commit ea4d5a270b57fa8d4871f372ca9b97b7697fdfda
Author: Dominik Behr <[email protected]>
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 <[email protected]>
---
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
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx