linux/drivers/infiniband/hw
Arthur Kepner 1f5c23e2c1 IB/mthca: Use mmiowb after doorbell ring
We discovered a problem when running IPoIB applications on multiple
CPUs on an Altix system. Many messages such as:

ib_mthca 0002:01:00.0: SQ 000014 full (19941644 head, 19941707 tail, 64 max, 0 nreq)

appear in syslog, and the driver wedges up.

Apparently this is because writes to the doorbells from different CPUs
reach the device out of order. The following patch adds mmiowb() calls
after doorbell rings to ensure the doorbell writes are ordered.

Signed-off-by: Arthur Kepner <akepner@sgi.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
2006-10-16 20:22:35 -07:00
..
amso1100 RDMA/amso1100: Fix a NULL dereference in error path 2006-10-16 10:06:07 -07:00
ehca IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
ipath IB/ipath: Initialize diagpkt file on device init only 2006-10-16 10:06:07 -07:00
mthca IB/mthca: Use mmiowb after doorbell ring 2006-10-16 20:22:35 -07:00