[RFC PATCH 0/3] Introduce KUnit tests for TTM subsystem
Karolina Stolarek
karolina.stolarek at intel.com
Mon Jun 12 10:55:24 UTC 2023
This series introduces KUnit[1] tests for TTM (Translation Table Manager)
subsystem, a memory manager used by graphics drivers to create and manage
memory buffers across different memory domains, such as system memory
or VRAM.
Unit tests implemented here cover two data structures:
- ttm_device -- referred as a buffer object device, which stores
resource managers and page pools
- ttm_pool -- a struct of pools (ttm_pool_type) of different page
orders and caching attributes, with pages that can be reused on
the next buffer allocation
Use kunit_tool script to manually run the tests:
$ ./tools/testing/kunit/kunit.py run --kunitconfig=drivers/gpu/drm/ttm/tests
To build a kernel with TTM KUnit tests, enable CONFIG_DRM_TTM_KUNIT_TEST
symbol.
As for now, tests are architecture-agnostic (i.e. KUnit runner uses UML
kernel), which means that we have limited coverage in some places. For
example, we can't fully test the initialization of global page pools,
such as global_write_combined. It is to be decided if we want to stick
to UML or use CONFIG_X86 (at least to some extent).
These patches are just a beginning of the work to improve the test
coverage of TTM. Feel free to suggest changes, test cases or priorities.
Many thanks,
Karolina
--------------------------------
[1] - https://www.kernel.org/doc/html/latest/dev-tools/kunit/index.html
Karolina Stolarek (3):
drm/ttm: Introduce KUnit tests
drm/ttm/tests: Add tests for ttm_device
drm/ttm/tests: Add tests for ttm_pool
drivers/gpu/drm/Kconfig | 15 +
drivers/gpu/drm/ttm/Makefile | 1 +
drivers/gpu/drm/ttm/tests/.kunitconfig | 4 +
drivers/gpu/drm/ttm/tests/Makefile | 6 +
drivers/gpu/drm/ttm/tests/ttm_device_test.c | 213 ++++++++++
drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.c | 80 ++++
drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.h | 34 ++
drivers/gpu/drm/ttm/tests/ttm_pool_test.c | 401 ++++++++++++++++++
8 files changed, 754 insertions(+)
create mode 100644 drivers/gpu/drm/ttm/tests/.kunitconfig
create mode 100644 drivers/gpu/drm/ttm/tests/Makefile
create mode 100644 drivers/gpu/drm/ttm/tests/ttm_device_test.c
create mode 100644 drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.c
create mode 100644 drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.h
create mode 100644 drivers/gpu/drm/ttm/tests/ttm_pool_test.c
--
2.25.1
More information about the dri-devel
mailing list