]> git.karo-electronics.de Git - karo-tx-linux.git/commit
IB/mlx4: Add strong ordering to local inval and fast reg work requests
authorJack Morgenstein <jackm@dev.mellanox.co.il>
Fri, 5 Jun 2009 17:36:24 +0000 (10:36 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 2 Jul 2009 23:50:05 +0000 (16:50 -0700)
commit2d0e9cfe4c616d2a1e7e3d4774b6b6b807321977
tree322d131b8dd815f0185189c1bbd01e98bfa650f0
parent371bae795fb7d0361205d16f3a8c91b2cc9a917b
IB/mlx4: Add strong ordering to local inval and fast reg work requests

commit 2ac6bf4ddc87c3b6b609f8fa82f6ebbffeac12f4 upstream.

The ConnectX Programmer's Reference Manual states that the "SO" bit
must be set when posting Fast Register and Local Invalidate send work
requests.  When this bit is set, the work request will be executed
only after all previous work requests on the send queue have been
executed.  (If the bit is not set, Fast Register and Local Invalidate
WQEs may begin execution too early, which violates the defined
semantics for these operations)

This fixes the issue with NFS/RDMA reported in
<http://lists.openfabrics.org/pipermail/general/2009-April/059253.html>

Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/infiniband/hw/mlx4/qp.c
include/linux/mlx4/qp.h