linux/drivers/infiniband
Mike Marciniszyn 3d2e7424b3 IPoIB: Fix send lockup due to missed TX completion
commit 1ee9e2aa7b upstream.

Commit f0dc117abd ("IPoIB: Fix TX queue lockup with mixed UD/CM
traffic") attempts to solve an issue where unprocessed UD send
completions can deadlock the netdev.

The patch doesn't fully resolve the issue because if more than half
the tx_outstanding's were UD and all of the destinations are RC
reachable, arming the CQ doesn't solve the issue.

This patch uses the IB_CQ_REPORT_MISSED_EVENTS on the
ib_req_notify_cq().  If the rc is above 0, the UD send cq completion
callback is called directly to re-arm the send completion timer.

This issue is seen in very large parallel filesystem deployments
and the patch has been shown to correct the issue.

Reviewed-by: Dean Luick <dean.luick@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-28 12:12:25 -07:00
..
core infiniband: pass rdma_cm module to netlink_dump_start 2012-10-28 10:14:15 -07:00
hw RDMA/nes: Fix for terminate timer crash 2013-01-17 08:50:51 -08:00
ulp IPoIB: Fix send lockup due to missed TX completion 2013-03-28 12:12:25 -07:00
Kconfig ib_srpt: Initial SRP Target merge for v3.3-rc1 2011-12-16 06:33:56 +00:00
Makefile ib_srpt: Initial SRP Target merge for v3.3-rc1 2011-12-16 06:33:56 +00:00