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@xxxxxxxxxxxxx> wrote: > From: Robert Foss <robert.foss@xxxxxxxxxxxxx> > > 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@xxxxxxxxxxxx>" 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 > _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx