[PATCH v5 0/4] Improve test coverage of TTM

Christian König christian.koenig at amd.com
Tue Oct 17 11:57:25 UTC 2023



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.

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