linux/drivers/staging/rdma
Mitko Haralanov b9fb6318d0 staging/rdma/hfi1: Prevent silent data corruption with user SDMA
User SDMA keeps track of progress into the submitted IO vectors by tracking an
offset into the vectors when packets are submitted. This offset is updated
after a successful submission of a txreq to the SDMA engine.

The same offset was used when determining whether an IO vector should be
'freed' (pages unpinned) in the SDMA callback functions.

This was causing a silent data corruption in big jobs (> 2 nodes, 120 ranks
each) on the receive side because the send side was mistakenly unpinning the
vector pages before the HW has processed all descriptors referencing the
vector.

Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Mitko Haralanov <mitko.haralanov@intel.com>
Signed-off-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-10-27 17:19:22 +09:00
..
amso1100 staging: rdma: amso1100: Drop unnecessary goto 2015-10-26 04:09:16 +09:00
ehca IB/ehca: fix handling idr_alloc result 2015-10-04 19:50:05 +01:00
hfi1 staging/rdma/hfi1: Prevent silent data corruption with user SDMA 2015-10-27 17:19:22 +09:00
ipath staging: ipath: ipath_init_chip: Use setup_timer 2015-10-26 04:09:16 +09:00
Kconfig staging/rdma: Kconfig change STAGING_RDMA to be tristate. 2015-09-29 03:42:27 +02:00
Makefile IB/ehca: Deprecate driver, move to staging, schedule deletion 2015-09-11 18:13:35 -04:00