Maíra Canal
1472e7549f
drm/sched: Add new test for DRM_GPU_SCHED_STAT_NO_HANG
...
Add a test to submit a single job against a scheduler with the timeout
configured and verify that if the job is still running, the timeout
handler will skip the reset and allow the job to complete.
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com >
Reviewed-by: Philipp Stanner <phasta@kernel.org >
Link: https://lore.kernel.org/r/20250714-sched-skip-reset-v6-4-5c5ba4f55039@igalia.com
Signed-off-by: Maíra Canal <mcanal@igalia.com >
2025-07-15 08:27:07 -03:00
Maíra Canal
9b9b5a3605
drm/sched: Make timeout KUnit tests faster
...
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 >
2025-07-15 08:27:07 -03:00
Philipp Stanner
c2668a0e03
drm/sched/tests: Add unit test for cancel_job()
...
The scheduler unit tests now provide a new callback, cancel_job(). This
callback gets used by drm_sched_fini() for all still pending jobs to
cancel them.
Implement a new unit test to test this.
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com >
Signed-off-by: Philipp Stanner <phasta@kernel.org >
Link: https://lore.kernel.org/r/20250710125412.128476-6-phasta@kernel.org
2025-07-10 17:07:08 +02:00
Tvrtko Ursulin
909bda2206
drm/sched: Add a basic test for checking credit limit
...
Add a basic test for checking whether scheduler respects the configured
credit limit.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com >
Cc: Christian König <christian.koenig@amd.com >
Cc: Danilo Krummrich <dakr@kernel.org >
Cc: Matthew Brost <matthew.brost@intel.com >
Cc: Philipp Stanner <phasta@kernel.org >
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Philipp Stanner <phasta@kernel.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20250324092633.49746-7-tvrtko.ursulin@igalia.com
2025-03-24 10:41:55 +01:00
Tvrtko Ursulin
c85fc5db76
drm/sched: Add a basic test for modifying entities scheduler list
...
Add a basic test for exercising modifying the entities scheduler list at
runtime.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com >
Cc: Christian König <christian.koenig@amd.com >
Cc: Danilo Krummrich <dakr@kernel.org >
Cc: Matthew Brost <matthew.brost@intel.com >
Cc: Philipp Stanner <phasta@kernel.org >
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Philipp Stanner <phasta@kernel.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20250324092633.49746-6-tvrtko.ursulin@igalia.com
2025-03-24 10:41:55 +01:00
Tvrtko Ursulin
7b765cda7a
drm/sched: Add basic priority tests
...
Add some basic tests for exercising entity priority handling.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com >
Cc: Christian König <christian.koenig@amd.com >
Cc: Danilo Krummrich <dakr@kernel.org >
Cc: Matthew Brost <matthew.brost@intel.com >
Cc: Philipp Stanner <phasta@kernel.org >
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Philipp Stanner <phasta@kernel.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20250324092633.49746-5-tvrtko.ursulin@igalia.com
2025-03-24 10:41:54 +01:00
Tvrtko Ursulin
53e6597492
drm/sched: Add a simple timeout test
...
Add a very simple timeout test which submits a single job and verifies
that the timeout handling will run if the backend failed to complete the
job in time.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com >
Cc: Christian König <christian.koenig@amd.com >
Cc: Danilo Krummrich <dakr@kernel.org >
Cc: Matthew Brost <matthew.brost@intel.com >
Cc: Philipp Stanner <phasta@kernel.org >
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Philipp Stanner <phasta@kernel.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20250324092633.49746-4-tvrtko.ursulin@igalia.com
2025-03-24 10:41:53 +01:00
Tvrtko Ursulin
5a99350794
drm/sched: Add scheduler unit testing infrastructure and some basic tests
...
Implement a mock scheduler backend and add some basic test to exercise the
core scheduler code paths.
Mock backend (kind of like a very simple mock GPU) can either process jobs
by tests manually advancing the "timeline" job at a time, or alternatively
jobs can be configured with a time duration in which case they get
completed asynchronously from the unit test code.
Core scheduler classes are subclassed to support this mock implementation.
The tests added are just a few simple submission patterns.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com >
Suggested-by: Philipp Stanner <phasta@kernel.org >
Cc: Christian König <christian.koenig@amd.com >
Cc: Danilo Krummrich <dakr@kernel.org >
Cc: Matthew Brost <matthew.brost@intel.com >
Cc: Philipp Stanner <phasta@kernel.org >
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Philipp Stanner <phasta@kernel.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20250324092633.49746-3-tvrtko.ursulin@igalia.com
2025-03-24 10:41:52 +01:00