[PATCH v4 3/8] drm/sched: Make timeout KUnit tests faster
Simona Vetter
simona.vetter at ffwll.ch
Tue Jul 8 07:41:46 UTC 2025
On Mon, Jul 07, 2025 at 11:46:32AM -0300, Maíra Canal wrote:
> 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
>
> Signed-off-by: Maíra Canal <mcanal at igalia.com>
> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at igalia.com>
> Acked-by: Philipp Stanner <phasta at kernel.org>
> ---
> drivers/gpu/drm/scheduler/tests/tests_basic.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/scheduler/tests/tests_basic.c b/drivers/gpu/drm/scheduler/tests/tests_basic.c
> index 7230057e0594c6246f02608f07fcb1f8d738ac75..41c648782f4548e202bd8711b45d28eead9bd0b2 100644
> --- a/drivers/gpu/drm/scheduler/tests/tests_basic.c
> +++ b/drivers/gpu/drm/scheduler/tests/tests_basic.c
> @@ -5,6 +5,8 @@
>
> #include "sched_tests.h"
>
> +#define MOCK_TIMEOUT (HZ / 5)
Eventually I think we want a test interface to immediately time out jobs
by rescheduling their timer to immediately (and handling all the trickery
of making sure it's scheduled first). That could also help with testcases
that want to exercise specific timing.
But for now this seems good enough.
-Sima
> +
> /*
> * 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;
> }
> @@ -227,14 +229,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,
>
> --
> 2.50.0
>
--
Simona Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the Intel-xe
mailing list