OpenCloudOS-Kernel/drivers/infiniband/ulp/ipoib
Mike Marciniszyn 1ee9e2aa7b IPoIB: Fix send lockup due to missed TX completion
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.

Cc: <stable@vger.kernel.org>
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>
2013-03-22 18:01:04 -07:00
..
Kconfig kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
Makefile IB/ipoib: Add rtnl_link_ops support 2012-09-20 16:49:17 -04:00
ipoib.h IPoIB: Add version and firmware info to ethtool reporting 2013-02-19 08:21:36 -08:00
ipoib_cm.c IPoIB: Fix send lockup due to missed TX completion 2013-03-22 18:01:04 -07:00
ipoib_ethtool.c IPoIB: Add version and firmware info to ethtool reporting 2013-02-19 08:21:36 -08:00
ipoib_fs.c Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
ipoib_ib.c IPoIB: Fix crash due to skb double destruct 2013-02-05 09:35:06 -08:00
ipoib_main.c IPoIB: Free ipoib neigh on path record failure so path rec queries are retried 2013-02-25 09:42:15 -08:00
ipoib_multicast.c IPoIB: Fix use-after-free of multicast object 2012-09-30 20:32:33 -07:00
ipoib_netlink.c IB/ipoib: Add more rtnl_link_ops callbacks 2012-10-01 17:12:22 -04:00
ipoib_verbs.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ipoib_vlan.c IB/ipoib: Add more rtnl_link_ops callbacks 2012-10-01 17:12:22 -04:00