[igt-dev] [PATCH] tests/kms_atomic_transition: Address test flakiness
Drew Davenport
ddavenport at chromium.org
Wed Aug 30 17:21:09 UTC 2023
Hi Juha-Pekka,
On Tue, Aug 29, 2023 at 10:01:54AM +0300, Juha-Pekka Heikkila wrote:
> Hi Drew,
>
> can you show backtrace when the test failed for you? I was looking through
> stats how i915 have behaved with this and I didn't on brief look spot this
> ever hitting i915. Which driver you are seeing this issue with?
I see this test failing flakily on i915 and msm (I don't have recent
results on amdgpu but I suspect it would flake there too).
I don't have a backtrace, unfortunately, but the stack is:
igt_assert_eq
igt_display_commit_atomic
commit_display
run_modeset_tests
I've posted verbose logs on the issue I opened on gitlab and tagged you
there. Happy to dig further here or on the issue tracker.
>
> Current stats on ci for i915 look like this (for me it look all green where
> run)
>
> https://intel-gfx-ci.01.org/tree/drm-tip/shards-all.html?testfilter=kms_atomic_transition.*nonblocking
>
> Here are some issues but they all did look like connector related issues:
> https://intel-gfx-ci.01.org/tree/drm-tip/drmtip.html?testfilter=kms_atomic_transition.*nonblocking
>
> /Juha-Pekka
>
> On 28.8.2023 23.23, Drew Davenport wrote:
> > 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);
>
More information about the igt-dev
mailing list