[igt-dev] [PATCH] tests/kms_atomic_transition: Address test flakiness
Drew Davenport
ddavenport at chromium.org
Mon Aug 28 20:23:57 UTC 2023
Nonblocking commits can sometimes return -EBUSY. It's expected that
this error is transient and that userspace should retry the commit.
Since kms_atomic_transition uses nonblocking commits for some test
cases, the test fails flakily.
This change will handle -EBUSY to ensure that the test does not
fail in that case.
Closes: https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/issues/144
Signed-off-by: Drew Davenport <ddavenport at chromium.org>
---
tests/kms_atomic_transition.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c
index 6ab5267ca..46ce9f929 100644
--- a/tests/kms_atomic_transition.c
+++ b/tests/kms_atomic_transition.c
@@ -683,7 +683,11 @@ static void commit_display(data_t *data, unsigned event_mask, bool nonblocking)
if (nonblocking)
flags |= DRM_MODE_ATOMIC_NONBLOCK;
- igt_display_commit_atomic(&data->display, flags, NULL);
+ do {
+ ret = igt_display_try_commit_atomic(&data->display, flags, NULL);
+ } while (ret == -EBUSY);
+
+ igt_assert_eq(ret, 0);
igt_debug("Event mask: %x, waiting for %i events\n", event_mask, num_events);
--
2.42.0.rc2.253.gd59a3bf2b4-goog
More information about the igt-dev
mailing list