[PATCH v5 0/4] Improve test coverage of TTM
Karolina Stolarek
karolina.stolarek at intel.com
Tue Oct 17 12:06:42 UTC 2023
On 17.10.2023 13:57, Christian König wrote:
>
>
> Am 17.10.23 um 13:22 schrieb Somalapuram, Amaranath:
>>
>> On 10/17/2023 4:35 PM, Karolina Stolarek wrote:
>>> Hi Amaranath,
>>>
>>> On 16.10.2023 15:08, Somalapuram, Amaranath wrote:
>>>>
>>>> On 10/16/2023 2:22 PM, Karolina Stolarek wrote:
>>>>> Add tests for building blocks of the TTM subsystem, such as
>>>>> ttm_resource,
>>>>> ttm_resource_manager, ttm_tt and ttm_buffer_object. This series covers
>>>>> basic functions such as initialization, allocation and clean-up of
>>>>> each
>>>>> struct. Testing of ttm_buffer_object also includes locking and
>>>>> unlocking
>>>>> the object for validation, with special scenarios such as an
>>>>> interrupted
>>>>> wait or deadlock.
>>>>>
>>>>> Some of the test cases check the bulk move mechanism and how it
>>>>> interacts
>>>>> with pinned buffers. This is to be seen if we want to add dedicated
>>>>> testing
>>>>> for bulk move or not. The resource allocation subtests use
>>>>> ttm_sys_manager
>>>>> for now. Resources that don't use system memory will be indirectly
>>>>> tested
>>>>> via tests for ttm_bo_validate()/ttm_bo_init_validate(), using a mock
>>>>> resource manager.
>>>>>
>>>>> Use kunit_tool script to manually run all the tests:
>>>>>
>>>>> $ ./tools/testing/kunit/kunit.py run
>>>>> --kunitconfig=drivers/gpu/drm/ttm/tests
>>>>>
>>>>> To build a kernel with TTM KUnit tests, first enable CONFIG_KUNIT, and
>>>>> then CONFIG_DRM_TTM_KUNIT_TEST.
>>>> Tested [PATCH v4 0/4] Improve test coverage of TTM patches on AMD
>>>> platform, looks good.
>>>
>>> Many thanks for taking a look.
>>>
>>> Do I understand correctly that your Tested-by would apply to all the
>>> patches here?
>>>
>> Yes, I have tested all the 4 patches together.
>
> No time for an in deep review, but I'm going to pick this up and push it
> to drm-misc-next.
Oh! Could you at least take a look at ttm_bo_reserve_deadlock and/or
interrupted subtests? I'm not 100% sure if my solution is right.
Many thanks,
Karolina
>
> Thanks,
> Christian.
>
>>
>> Regards,
>> S.Amarnath
>>> All the best,
>>> Karolina
>>>
>>>>
>>>> Regards,
>>>> S.Amarnath
>>>>> Many thanks,
>>>>> Karolina
>>>>>
>>>>> v5:
>>>>> - Actually use the page_flags parameter in ttm_tt_simple_create()
>>>>>
>>>>> v4:
>>>>> - First unreserve the object before calling ww_acquire_fini() in
>>>>> ttm_bo_reserve_double_resv subtest
>>>>> - Silence lockdep in ttm_bo_reserve_deadlock subtest (open to
>>>>> suggestions
>>>>> how to fix it in a different way)
>>>>> - Use a genuine GEM object in ttm_buffer_object instead of an
>>>>> empty one
>>>>>
>>>>> v3:
>>>>> - Instead of modifying the main TTM Makefile, use
>>>>> EXPORT_SYMBOL_FOR_TESTS_ONLY() macro for symbols that are
>>>>> tested but
>>>>> not widely exported. Thanks to this change, TTM tests can be
>>>>> built
>>>>> as modules, even when non-exported functions are used
>>>>> - Change the description of a patch that fixes
>>>>> ttm_pool_pre_populated()
>>>>>
>>>>> v2:
>>>>> - Remove Makefile for KUnit tests and move the definitions to the
>>>>> TTM's one
>>>>> - Switch on CONFIG_DRM_TTM_KUNIT_TEST=m so the tests and TTM module
>>>>> are built as one. This allows building the tests as a module,
>>>>> even
>>>>> if it uses functions that are not exported
>>>>> - Fix ttm_pool_pre_populated(); a wrong flag was passed to
>>>>> ttm_tt_kunit_init() function
>>>>>
>>>>> Karolina Stolarek (4):
>>>>> drm/ttm/tests: Add tests for ttm_resource and ttm_sys_man
>>>>> drm/ttm/tests: Add tests for ttm_tt
>>>>> drm/ttm/tests: Add tests for ttm_bo functions
>>>>> drm/ttm/tests: Fix argument in ttm_tt_kunit_init()
>>>>>
>>>>> drivers/gpu/drm/ttm/tests/Makefile | 3 +
>>>>> drivers/gpu/drm/ttm/tests/ttm_bo_test.c | 619
>>>>> ++++++++++++++++++
>>>>> drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.c | 51 +-
>>>>> drivers/gpu/drm/ttm/tests/ttm_kunit_helpers.h | 4 +
>>>>> drivers/gpu/drm/ttm/tests/ttm_pool_test.c | 3 +-
>>>>> drivers/gpu/drm/ttm/tests/ttm_resource_test.c | 335 ++++++++++
>>>>> drivers/gpu/drm/ttm/tests/ttm_tt_test.c | 295 +++++++++
>>>>> drivers/gpu/drm/ttm/ttm_resource.c | 3 +
>>>>> drivers/gpu/drm/ttm/ttm_tt.c | 3 +
>>>>> 9 files changed, 1313 insertions(+), 3 deletions(-)
>>>>> create mode 100644 drivers/gpu/drm/ttm/tests/ttm_bo_test.c
>>>>> create mode 100644 drivers/gpu/drm/ttm/tests/ttm_resource_test.c
>>>>> create mode 100644 drivers/gpu/drm/ttm/tests/ttm_tt_test.c
>>>>>
>
More information about the dri-devel
mailing list