]> git.openfabrics.org - ~ardavis/dapl.git/commit
dapltest: Add final send/recv "sync" for transaction tests.
authorswise@opengridcomputing.com <swise@opengridcomputing.com>
Mon, 3 Mar 2014 22:35:43 +0000 (14:35 -0800)
committerArlin Davis <arlin.r.davis@intel.com>
Mon, 21 Apr 2014 17:42:43 +0000 (10:42 -0700)
commit6e0fb4514d2837908e090f5579fc0b4161708b00
tree771a0e2dd1488f2b623bbb1a5a2f16d6e89bc8f4
parent361551675af0e3e7c9480875038aefd66809802a
dapltest: Add final send/recv "sync" for transaction tests.

The transaction tests need both sides to send a sync message after running the test.  This ensures that all remote operations are complete before dapltest deregeisters memory and disconnects the endpoints.

Without this logic, we see intermittent async errors on iwarp devices because a read response or write arrives after the rmr has been destroyed.
I believe this is more likely to happen with iWARP than IB because iWARP completions only indicate the local buffer can be reused.  It doesn't imply that the message has even arrived at the peer, let alone been placed in the peer application's memory.

Changes from V1:

- allocate new send/recv buffers for the Final Sync message.

- post the Final Sync recv buffer at the beginning of the final iteration of a test.

- tests ok on cxgb4 and mlx4 devices.

Signed-off-by: Steve Wise <swise@opengridcomputing.com>
test/dapltest/test/dapl_transaction_stats.c
test/dapltest/test/dapl_transaction_test.c