kms_atomic_transition subtest modeset-transition-nonblocking is flaky
In our CI, this test fails occasionally across multiple platforms. The failure happens in the commit_display
function where igt_display_commit_atomic
asserts due to igt_display_try_commit_atomic
returning -EBUSY
.
If I modify the test to retry when the commit returns -EBUSY
, as is done in other tests which work with nonblocking commits, the test passes consistently.
I'm happy to send a change to address this, but would like some guidance as to the preferred way to fix this. I can see a few options:
- In
commit_display
replace the call toigt_display_commit_atomic
with a retry loop - In
igt_display_commit_atomic
add retry logic to handle -EBUSY - Add a new function
igt_display_commit_atomic_retry
to igt_kms.c which does the return logic (and leaveigt_display_commit_atomic
untouched) and call this new function fromcommit_display