mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00

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
117 lines
3.2 KiB
Plaintext
117 lines
3.2 KiB
Plaintext
config DRM_USE_DYNAMIC_DEBUG
|
|
bool "use dynamic debug to implement drm.debug"
|
|
default n
|
|
depends on BROKEN
|
|
depends on DRM
|
|
depends on DYNAMIC_DEBUG || DYNAMIC_DEBUG_CORE
|
|
depends on JUMP_LABEL
|
|
help
|
|
Use dynamic-debug to avoid drm_debug_enabled() runtime overheads.
|
|
Due to callsite counts in DRM drivers (~4k in amdgpu) and 56
|
|
bytes per callsite, the .data costs can be substantial, and
|
|
are therefore configurable.
|
|
|
|
config DRM_WERROR
|
|
bool "Compile the drm subsystem with warnings as errors"
|
|
depends on DRM && EXPERT
|
|
depends on !WERROR
|
|
default n
|
|
help
|
|
A kernel build should not cause any compiler warnings, and this
|
|
enables the '-Werror' flag to enforce that rule in the drm subsystem.
|
|
|
|
The drm subsystem enables more warnings than the kernel default, so
|
|
this config option is disabled by default.
|
|
|
|
If in doubt, say N.
|
|
|
|
config DRM_HEADER_TEST
|
|
bool "Ensure DRM headers are self-contained and pass kernel-doc"
|
|
depends on DRM && EXPERT
|
|
default n
|
|
help
|
|
Ensure the DRM subsystem headers both under drivers/gpu/drm and
|
|
include/drm compile, are self-contained, have header guards, and have
|
|
no kernel-doc warnings.
|
|
|
|
If in doubt, say N.
|
|
|
|
config DRM_DEBUG_MM
|
|
bool "Insert extra checks and debug info into the DRM range managers"
|
|
default n
|
|
depends on DRM
|
|
depends on STACKTRACE_SUPPORT
|
|
select STACKDEPOT
|
|
help
|
|
Enable allocation tracking of memory manager and leak detection on
|
|
shutdown.
|
|
|
|
Recommended for driver developers only.
|
|
|
|
If in doubt, say "N".
|
|
|
|
config DRM_KUNIT_TEST_HELPERS
|
|
tristate
|
|
depends on DRM && KUNIT
|
|
select DRM_KMS_HELPER
|
|
help
|
|
KUnit Helpers for KMS drivers.
|
|
|
|
config DRM_KUNIT_TEST
|
|
tristate "KUnit tests for DRM" if !KUNIT_ALL_TESTS
|
|
depends on DRM && KUNIT && MMU
|
|
select DRM_BRIDGE_CONNECTOR
|
|
select DRM_BUDDY
|
|
select DRM_DISPLAY_DP_HELPER
|
|
select DRM_DISPLAY_HDMI_STATE_HELPER
|
|
select DRM_DISPLAY_HELPER
|
|
select DRM_EXEC
|
|
select DRM_EXPORT_FOR_TESTS if m
|
|
select DRM_GEM_SHMEM_HELPER
|
|
select DRM_KUNIT_TEST_HELPERS
|
|
select DRM_LIB_RANDOM
|
|
select PRIME_NUMBERS
|
|
default KUNIT_ALL_TESTS
|
|
help
|
|
This builds unit tests for DRM. This option is not useful for
|
|
distributions or general kernels, but only for kernel
|
|
developers working on DRM and associated drivers.
|
|
|
|
For more information on KUnit and unit tests in general,
|
|
please refer to the KUnit documentation in
|
|
Documentation/dev-tools/kunit/.
|
|
|
|
If in doubt, say "N".
|
|
|
|
config DRM_TTM_KUNIT_TEST
|
|
tristate "KUnit tests for TTM" if !KUNIT_ALL_TESTS
|
|
default n
|
|
depends on DRM && KUNIT && MMU && (UML || COMPILE_TEST)
|
|
select DRM_TTM
|
|
select DRM_BUDDY
|
|
select DRM_EXPORT_FOR_TESTS if m
|
|
select DRM_KUNIT_TEST_HELPERS
|
|
default KUNIT_ALL_TESTS
|
|
help
|
|
Enables unit tests for TTM, a GPU memory manager subsystem used
|
|
to manage memory buffers. This option is mostly useful for kernel
|
|
developers. It depends on (UML || COMPILE_TEST) since no other driver
|
|
which uses TTM can be loaded while running the tests.
|
|
|
|
If in doubt, say "N".
|
|
|
|
config DRM_SCHED_KUNIT_TEST
|
|
tristate "KUnit tests for the DRM scheduler" if !KUNIT_ALL_TESTS
|
|
select DRM_SCHED
|
|
depends on DRM && KUNIT
|
|
default KUNIT_ALL_TESTS
|
|
help
|
|
Choose this option to build unit tests for the DRM scheduler.
|
|
|
|
Recommended for driver developers only.
|
|
|
|
If in doubt, say "N".
|
|
|
|
config DRM_EXPORT_FOR_TESTS
|
|
bool
|