* [PATCH 1/2] drm/tests: Handle EDEADLK in drm_test_check_valid_clones()
@ 2025-10-23 5:46 José Expósito
2025-10-23 5:46 ` [PATCH 2/2] drm/tests: Handle EDEADLK in set_up_atomic_state() José Expósito
2025-10-23 11:34 ` [PATCH 1/2] drm/tests: Handle EDEADLK in drm_test_check_valid_clones() Maxime Ripard
0 siblings, 2 replies; 4+ messages in thread
From: José Expósito @ 2025-10-23 5:46 UTC (permalink / raw)
To: quic_jesszhan
Cc: maarten.lankhorst, mripard, tzimmermann, airlied, simona, lumag,
quic_abhinavk, dan.carpenter, dri-devel, linux-kernel,
José Expósito
Fedora/CentOS/RHEL CI is reporting intermittent failures while running
the drm_test_check_valid_clones() KUnit test.
The error log can be either [1]:
# drm_test_check_valid_clones: ASSERTION FAILED at
# drivers/gpu/drm/tests/drm_atomic_state_test.c:295
Expected ret == param->expected_result, but
ret == -35 (0xffffffffffffffdd)
param->expected_result == 0 (0x0)
Or [2] depending on the test case:
# drm_test_check_valid_clones: ASSERTION FAILED at
# drivers/gpu/drm/tests/drm_atomic_state_test.c:295
Expected ret == param->expected_result, but
ret == -35 (0xffffffffffffffdd)
param->expected_result == -22 (0xffffffffffffffea)
Restart the atomic sequence when EDEADLK is returned.
[1] https://s3.amazonaws.com/arr-cki-prod-trusted-artifacts/trusted-artifacts/2113057246/test_x86_64/11802139999/artifacts/jobwatch/logs/recipes/19824965/tasks/204347800/results/946112713/logs/dmesg.log
[2] https://s3.amazonaws.com/arr-cki-prod-trusted-artifacts/trusted-artifacts/2106744297/test_aarch64/11762450907/artifacts/jobwatch/logs/recipes/19797942/tasks/204139727/results/945094561/logs/dmesg.log
Fixes: 88849f24e2ab ("drm/tests: Add test for drm_atomic_helper_check_modeset()")
Closes: https://datawarehouse.cki-project.org/issue/4004
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
---
drivers/gpu/drm/tests/drm_atomic_state_test.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/drivers/gpu/drm/tests/drm_atomic_state_test.c b/drivers/gpu/drm/tests/drm_atomic_state_test.c
index 2f6ac7a09f44..1e857d86574c 100644
--- a/drivers/gpu/drm/tests/drm_atomic_state_test.c
+++ b/drivers/gpu/drm/tests/drm_atomic_state_test.c
@@ -283,7 +283,14 @@ static void drm_test_check_valid_clones(struct kunit *test)
state = drm_kunit_helper_atomic_state_alloc(test, drm, &ctx);
KUNIT_ASSERT_NOT_ERR_OR_NULL(test, state);
+retry:
crtc_state = drm_atomic_get_crtc_state(state, priv->crtc);
+ if (PTR_ERR(crtc_state) == -EDEADLK) {
+ drm_atomic_state_clear(state);
+ ret = drm_modeset_backoff(&ctx);
+ if (!ret)
+ goto retry;
+ }
KUNIT_ASSERT_NOT_ERR_OR_NULL(test, crtc_state);
crtc_state->encoder_mask = param->encoder_mask;
@@ -292,6 +299,12 @@ static void drm_test_check_valid_clones(struct kunit *test)
crtc_state->mode_changed = true;
ret = drm_atomic_helper_check_modeset(drm, state);
+ if (ret == -EDEADLK) {
+ drm_atomic_state_clear(state);
+ ret = drm_modeset_backoff(&ctx);
+ if (!ret)
+ goto retry;
+ }
KUNIT_ASSERT_EQ(test, ret, param->expected_result);
drm_modeset_drop_locks(&ctx);
--
2.51.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] drm/tests: Handle EDEADLK in set_up_atomic_state()
2025-10-23 5:46 [PATCH 1/2] drm/tests: Handle EDEADLK in drm_test_check_valid_clones() José Expósito
@ 2025-10-23 5:46 ` José Expósito
2025-10-23 11:35 ` Maxime Ripard
2025-10-23 11:34 ` [PATCH 1/2] drm/tests: Handle EDEADLK in drm_test_check_valid_clones() Maxime Ripard
1 sibling, 1 reply; 4+ messages in thread
From: José Expósito @ 2025-10-23 5:46 UTC (permalink / raw)
To: quic_jesszhan
Cc: maarten.lankhorst, mripard, tzimmermann, airlied, simona, lumag,
quic_abhinavk, dan.carpenter, dri-devel, linux-kernel,
José Expósito
Fedora/CentOS/RHEL CI is reporting intermittent failures while running
the drm_validate_modeset test [1]:
# drm_test_check_connector_changed_modeset: EXPECTATION FAILED at
# drivers/gpu/drm/tests/drm_atomic_state_test.c:162
Expected ret == 0, but
ret == -35 (0xffffffffffffffdd)
Change the set_up_atomic_state() helper function to return on error and
restart the atomic sequence when the returned error is EDEADLK.
[1] https://s3.amazonaws.com/arr-cki-prod-trusted-artifacts/trusted-artifacts/2106744096/test_x86_64/11762450343/artifacts/jobwatch/logs/recipes/19797909/tasks/204139142/results/945095586/logs/dmesg.log
Fixes: 73d934d7b6e3 ("drm/tests: Add test for drm_atomic_helper_commit_modeset_disables()")
Closes: https://datawarehouse.cki-project.org/issue/4004
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
---
drivers/gpu/drm/tests/drm_atomic_state_test.c | 27 +++++++++++++++----
1 file changed, 22 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/tests/drm_atomic_state_test.c b/drivers/gpu/drm/tests/drm_atomic_state_test.c
index 1e857d86574c..bc27f65b2823 100644
--- a/drivers/gpu/drm/tests/drm_atomic_state_test.c
+++ b/drivers/gpu/drm/tests/drm_atomic_state_test.c
@@ -156,24 +156,29 @@ static int set_up_atomic_state(struct kunit *test,
if (connector) {
conn_state = drm_atomic_get_connector_state(state, connector);
- KUNIT_ASSERT_NOT_ERR_OR_NULL(test, conn_state);
+ if (IS_ERR(conn_state))
+ return PTR_ERR(conn_state);
ret = drm_atomic_set_crtc_for_connector(conn_state, crtc);
- KUNIT_EXPECT_EQ(test, ret, 0);
+ if (ret)
+ return ret;
}
crtc_state = drm_atomic_get_crtc_state(state, crtc);
- KUNIT_ASSERT_NOT_ERR_OR_NULL(test, crtc_state);
+ if (IS_ERR(crtc_state))
+ return PTR_ERR(crtc_state);
ret = drm_atomic_set_mode_for_crtc(crtc_state, &drm_atomic_test_mode);
- KUNIT_EXPECT_EQ(test, ret, 0);
+ if (ret)
+ return ret;
crtc_state->enable = true;
crtc_state->active = true;
if (connector) {
ret = drm_atomic_commit(state);
- KUNIT_ASSERT_EQ(test, ret, 0);
+ if (ret)
+ return ret;
} else {
// dummy connector mask
crtc_state->connector_mask = DRM_TEST_CONN_0;
@@ -206,7 +211,13 @@ static void drm_test_check_connector_changed_modeset(struct kunit *test)
drm_modeset_acquire_init(&ctx, 0);
// first modeset to enable
+retry_set_up:
ret = set_up_atomic_state(test, priv, old_conn, &ctx);
+ if (ret == -EDEADLK) {
+ ret = drm_modeset_backoff(&ctx);
+ if (!ret)
+ goto retry_set_up;
+ }
KUNIT_ASSERT_EQ(test, ret, 0);
state = drm_kunit_helper_atomic_state_alloc(test, drm, &ctx);
@@ -277,7 +288,13 @@ static void drm_test_check_valid_clones(struct kunit *test)
drm_modeset_acquire_init(&ctx, 0);
+retry_set_up:
ret = set_up_atomic_state(test, priv, NULL, &ctx);
+ if (ret == -EDEADLK) {
+ ret = drm_modeset_backoff(&ctx);
+ if (!ret)
+ goto retry_set_up;
+ }
KUNIT_ASSERT_EQ(test, ret, 0);
state = drm_kunit_helper_atomic_state_alloc(test, drm, &ctx);
--
2.51.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] drm/tests: Handle EDEADLK in drm_test_check_valid_clones()
2025-10-23 5:46 [PATCH 1/2] drm/tests: Handle EDEADLK in drm_test_check_valid_clones() José Expósito
2025-10-23 5:46 ` [PATCH 2/2] drm/tests: Handle EDEADLK in set_up_atomic_state() José Expósito
@ 2025-10-23 11:34 ` Maxime Ripard
1 sibling, 0 replies; 4+ messages in thread
From: Maxime Ripard @ 2025-10-23 11:34 UTC (permalink / raw)
To: José Expósito
Cc: airlied, dan.carpenter, dri-devel, linux-kernel, lumag,
maarten.lankhorst, mripard, quic_abhinavk, quic_jesszhan, simona,
tzimmermann, Maxime Ripard
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 312 bytes --]
On Thu, 23 Oct 2025 07:46:05 +0200, José Expósito wrote:
> Fedora/CentOS/RHEL CI is reporting intermittent failures while running
> the drm_test_check_valid_clones() KUnit test.
>
> The error log can be either [1]:
>
>
> [ ... ]
Reviewed-by: Maxime Ripard <mripard@kernel.org>
Thanks!
Maxime
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2] drm/tests: Handle EDEADLK in set_up_atomic_state()
2025-10-23 5:46 ` [PATCH 2/2] drm/tests: Handle EDEADLK in set_up_atomic_state() José Expósito
@ 2025-10-23 11:35 ` Maxime Ripard
0 siblings, 0 replies; 4+ messages in thread
From: Maxime Ripard @ 2025-10-23 11:35 UTC (permalink / raw)
To: José Expósito
Cc: airlied, dan.carpenter, dri-devel, linux-kernel, lumag,
maarten.lankhorst, mripard, quic_abhinavk, quic_jesszhan, simona,
tzimmermann, Maxime Ripard
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 393 bytes --]
On Thu, 23 Oct 2025 07:46:06 +0200, José Expósito wrote:
> Fedora/CentOS/RHEL CI is reporting intermittent failures while running
> the drm_validate_modeset test [1]:
>
> # drm_test_check_connector_changed_modeset: EXPECTATION FAILED at
> # drivers/gpu/drm/tests/drm_atomic_state_test.c:162
>
> [ ... ]
Reviewed-by: Maxime Ripard <mripard@kernel.org>
Thanks!
Maxime
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-10-23 11:35 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-23 5:46 [PATCH 1/2] drm/tests: Handle EDEADLK in drm_test_check_valid_clones() José Expósito
2025-10-23 5:46 ` [PATCH 2/2] drm/tests: Handle EDEADLK in set_up_atomic_state() José Expósito
2025-10-23 11:35 ` Maxime Ripard
2025-10-23 11:34 ` [PATCH 1/2] drm/tests: Handle EDEADLK in drm_test_check_valid_clones() Maxime Ripard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox