]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/sched: Make timeout KUnit tests faster
authorMaíra Canal <mcanal@igalia.com>
Mon, 14 Jul 2025 22:07:04 +0000 (19:07 -0300)
committerMaíra Canal <mcanal@igalia.com>
Tue, 15 Jul 2025 11:27:07 +0000 (08:27 -0300)
As more KUnit tests are introduced to evaluate the basic capabilities of
the `timedout_job()` hook, the test suite will continue to increase in
duration. To reduce the overall running time of the test suite, decrease
the scheduler's timeout for the timeout tests.

Before this commit:

[15:42:26] Elapsed time: 15.637s total, 0.002s configuring, 10.387s building, 5.229s running

After this commit:

[15:45:26] Elapsed time: 9.263s total, 0.002s configuring, 5.168s building, 4.037s running

Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
Acked-by: Philipp Stanner <phasta@kernel.org>
Link: https://lore.kernel.org/r/20250714-sched-skip-reset-v6-3-5c5ba4f55039@igalia.com
Signed-off-by: Maíra Canal <mcanal@igalia.com>
drivers/gpu/drm/scheduler/tests/tests_basic.c

index b1ae10c6bb3735f04471e5c59815e2d601b32ef2..8153c2e7af772cd9f12c1479815678464df6c47b 100644 (file)
@@ -5,6 +5,8 @@
 
 #include "sched_tests.h"
 
+#define MOCK_TIMEOUT (HZ / 5)
+
 /*
  * DRM scheduler basic tests should check the basic functional correctness of
  * the scheduler, including some very light smoke testing. More targeted tests,
@@ -28,7 +30,7 @@ static void drm_sched_basic_exit(struct kunit *test)
 
 static int drm_sched_timeout_init(struct kunit *test)
 {
-       test->priv = drm_mock_sched_new(test, HZ);
+       test->priv = drm_mock_sched_new(test, MOCK_TIMEOUT);
 
        return 0;
 }
@@ -268,14 +270,14 @@ static void drm_sched_basic_timeout(struct kunit *test)
        done = drm_mock_sched_job_wait_scheduled(job, HZ);
        KUNIT_ASSERT_TRUE(test, done);
 
-       done = drm_mock_sched_job_wait_finished(job, HZ / 2);
+       done = drm_mock_sched_job_wait_finished(job, MOCK_TIMEOUT / 2);
        KUNIT_ASSERT_FALSE(test, done);
 
        KUNIT_ASSERT_EQ(test,
                        job->flags & DRM_MOCK_SCHED_JOB_TIMEDOUT,
                        0);
 
-       done = drm_mock_sched_job_wait_finished(job, HZ);
+       done = drm_mock_sched_job_wait_finished(job, MOCK_TIMEOUT);
        KUNIT_ASSERT_FALSE(test, done);
 
        KUNIT_ASSERT_EQ(test,