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

Robert Foss robert.foss at collabora.com
Fri Nov 18 15:48:01 UTC 2016


On Fri, 2016-11-18 at 09:59 -0500, robert.foss at collabora.com wrote:
> From: Robert Foss <robert.foss at collabora.com>
> 

This is not a resubmission of v6, but rather a mislabeled v7.

> 
> 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
> 
> 
> 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
>   tests/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
> 
>  .settings/language.settings.xml |   25 +
>  lib/Makefile.sources            |    2 +
>  lib/sw_sync.c                   |  222 +++++
>  lib/sw_sync.h                   |   49 ++
>  tests/Makefile.sources          |    1 +
>  tests/drm_fence                 |  Bin 0 -> 901032 bytes
>  tests/kms_atomic.c.orig         | 1803
> +++++++++++++++++++++++++++++++++++++++
>  tests/kms_atomic.c.rej          |   15 +
>  tests/kms_fence                 |  Bin 0 -> 1798632 bytes
>  tests/sw_sync.c                 |  961 +++++++++++++++++++++
>  tests/sw_sync.c.orig            |  694 +++++++++++++++
>  11 files changed, 3772 insertions(+)
>  create mode 100644 .settings/language.settings.xml
>  create mode 100644 lib/sw_sync.c
>  create mode 100644 lib/sw_sync.h
>  create mode 100755 tests/drm_fence
>  create mode 100644 tests/kms_atomic.c.orig
>  create mode 100644 tests/kms_atomic.c.rej
>  create mode 100755 tests/kms_fence
>  create mode 100644 tests/sw_sync.c
>  create mode 100644 tests/sw_sync.c.orig
> 


More information about the Intel-gfx mailing list