[Intel-gfx] [PATCH i-g-t v9 00/21] Implement sw_sync test

Tomeu Vizoso tomeu at tomeuvizoso.net
Mon Dec 5 13:24:24 UTC 2016


This series has my Reviewed-by tag with the small issues I pointed out
addressed. But I think it would be very good if you could go through
all the igt_assert* calls and make sure that no information is being
lost that could aid in triaging and debugging.

The messages you chose for igt_assert_f were very good in explaining
*what* went wrong, but if the values used in the comparison were
contained in the string, the person reading the logs would have a
better chance of understanding *why* without having to instrument the
code and re-run.

Thanks,

Tomeu

On 22 November 2016 at 14:28,  <robert.foss at collabora.com> wrote:
> From: Robert Foss <robert.foss at collabora.com>
>
> This series implements the sw_sync test and the lib/sw_sync helper functions
> for said test.
>
> The sw_sync subtests range from very basic tests of the sw_sync functionality,
> to stress testing and randomized tests.
>
>
> Changes since v1:
> Added "Reviewed-by: Eric Engestrom <eric at engestrom.ch>" tag
>
>   lib/sw_sync:
>   - Fixed fd value checking
>   - Fixed fd validity check in sw_sync_fd_close()
>   - Moved sw_sync related paths to define
>   - Switched from malloc+memset to calloc in sync_file_info()
>   - Switched sizeof to dereferenced ptr
>
>   tests/sw_sync:
>   - Moved lib/sw_sync related code to lib/sw_sync commit
>   - Replaced memset with assignment in loop
>
>
> Changes since v2:
>
>   lib/sw_sync:
>   - Replaced fd validity check in sw_sync_timeline_create()
>   - Replace sw_sync_XXX_destroy() functions with close()
>   - Simplified sw_sync_timeline_inc() comparison
>   - Changed sw_sync_merge() return value to -errno
>   - Changed name of sw_sync_fence_size() to sw_sync_fence_count()
>   - Reworked implementation of sw_sync_fence_count()
>   - Reworked implementation of sw_sync_fence_count_status()
>
>   tests/sw_sync:
>   - Replace sw_sync_XXX_destroy() functions with close()
>
>
> Changes since v3:
>
>   lib/sw_sync:
>   - Changed sw_sync_fence_create() to take uint32_t seqno
>   - Added raw __sw_sync_fence_create() and failure check sw_sync_fence_create()
>
>   tests/sw_sync:
>   - Switch to using __sw_sync_fence_create() for failure cases
>
>
> Changes since v4:
>
>   lib/sw_sync:
>   - Fixed whitespace in sw_sync_fence_count()
>   - Fixed whitespace and style of sw_sync_wait()
>   - Fixed whitespace in __sw_sync_fence_count_status()
>
>
> Changes since v5:
>
>   lib/sw_sync:
>   - Added kernel_has_sw_sync()
>   - Added igt_require_sw_sync()
>   - Split out __sw_sync_merge() from sw_sync_merge()
>   - Added igt_debugfs.h include
>   - Change sw_sync_wait to reflect android implementation
>   - Renamed some functions:
>    - sw_sync_merge -> sync_merge
>    - sw_sync_wait -> sync_wait
>    - sw_sync_fence_count -> sync_fence_count
>    - sw_sync_fence_count_status -> sync_fence_count_status
>    - __sw_sync_fence_count_status -> __sync_fence_count_status
>
>   tests/sw_sync:
>   - Added subtest test_sync_expired_merge
>   - Added subtest test_timeline_closed
>   - Added subtest test_timeline_closed_signaled
>   - Added subtest test_sync_merge_invalid
>   - Added subtest test_sync_busy_fork
>   - Added subtest test_sync_busy_unixsockets
>   - Skip test on no sw_sync support
>   - Reworked comments of test_sync_wait
>   - Renamed test_sync_wait -> test_sync_busy
>   - Improved test_sync_wait igt_assert_f messages
>
>
> Changes since v6:
>
>   tests/sw_sync:
>   - Added igt_assert to test_sync_expired_merge
>   - Added prime increments to test_sync_busy
>
>
> Changes since v7:
>
>   - Removed accidental inclusions
>
>
> Changes since v8:
>
>   - Removed some more accidental inclusions
>
>   lib/sw_sync:
>     - Moved some changes into the lib/sw_sync commit
>
> Rafael Antognolli (1):
>   tests/sw_sync: Add subtest test_sync_expired_merge
>
> Robert Foss (20):
>   lib/sw_sync: Add helper functions for managing synchronization
>     primitives
>   test/sw_sync: Add sw_sync test
>   tests/sw_sync: Add subtest test_alloc_fence
>   tests/sw_sync: Add subtest test_alloc_fence_invalid_timeline
>   tests/sw_sync: Add subtest test_alloc_merge_fence
>   tests/sw_sync: Add subtest test_sync_busy
>   tests/sw_sync: Add subtest test_sync_merge
>   tests/sw_sync: Add subtest test_sync_merge_same
>   tests/sw_sync: Add subtest test_sync_multi_consumer
>   tests/sw_sync: Add subtest test_sync_multi_consumer_producer
>   tests/sw_sync: Add subtest test_sync_random_merge
>   tests/sw_sync: Add subtest test_sync_multi_timeline_wait
>   tests/sw_sync: Add subtest test_sync_multi_producer_single_consumer
>   tests/sw_sync: Add subtest test_timeline_closed
>   tests/sw_sync: Add subtest test_timeline_closed_signaled
>   lib/sw_sync: Add igt_require_sw_sync to enable skipping on no sw_sync
>     support
>   tests/sw_sync: Add igt_require check for sw_sync feature
>   tests/sw_sync: Add subtest test_sync_merge_invalid
>   tests/sw_sync: Add subtest test_sync_busy_fork
>   tests/sw_sync: Add subtest test_sync_busy_unixsocket
>
>  lib/Makefile.sources   |   2 +
>  lib/sw_sync.c          | 222 ++++++++++++
>  lib/sw_sync.h          |  49 +++
>  tests/Makefile.sources |   1 +
>  tests/sw_sync.c        | 961 +++++++++++++++++++++++++++++++++++++++++++++++++
>  5 files changed, 1235 insertions(+)
>  create mode 100644 lib/sw_sync.c
>  create mode 100644 lib/sw_sync.h
>  create mode 100644 tests/sw_sync.c
>
> --
> 2.10.2
>


More information about the Intel-gfx mailing list