]> git.baikalelectronics.ru Git - kernel.git/commit
IPoIB/cm: Use common CQ for CM send completions
authorMichael S. Tsirkin <mst@mellanox.co.il>
Thu, 16 Aug 2007 12:36:16 +0000 (15:36 +0300)
committerRoland Dreier <rolandd@cisco.com>
Sat, 20 Oct 2007 04:39:34 +0000 (21:39 -0700)
commit4e06834237670f2768fb1e499ce47c36f0910656
tree71c6514ea9860027de2180a0470e672654650acc
parentb5536fb8d892cb4add529e40d565b977458f0326
IPoIB/cm: Use common CQ for CM send completions

Use the same CQ for CM send completions as for all other IPoIB
completions.  This means all completions are processed via the same
NAPI polling routine.  This should help reduce the number of
interrupts for bi-directional traffic (such as TCP) and fixes "driver
is hogging interrupts" errors reported for IPoIB send side, e.g.
<https://bugs.openfabrics.org/show_bug.cgi?id=508>

To do this, keep a per-interface counter of outstanding send WRs, and
stop the interface when this counter reaches the send queue size to
avoid CQ overruns.

Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/ulp/ipoib/ipoib.h
drivers/infiniband/ulp/ipoib/ipoib_cm.c
drivers/infiniband/ulp/ipoib/ipoib_ib.c
drivers/infiniband/ulp/ipoib/ipoib_main.c