Patch "IB/mlx5: Fix post send fence logic" has been added to the 3.14-stable tree
Subsystems (4)
This is a note to let you know that I've just added the patch titled
IB/mlx5: Fix post send fence logic
to the 3.14-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
ib-mlx5-fix-post-send-fence-logic.patch
and it can be found in the queue-3.14 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
c9b254955b9f8814966f5dabd34c39d0e0a2b437Mon Sep 17 00:00:00 2001
From: Eli Cohen <[email protected]>
Date: Wed, 22 Jun 2016 17:27:26 +0300
Subject: IB/mlx5: Fix post send fence logic
From: Eli Cohen <[email protected]>
commit c9b254955b9f8814966f5dabd34c39d0e0a2b437 upstream.
If the caller specified IB_SEND_FENCE in the send flags of the work request and no previous work request stated that the successive one should be fenced, the work request would be executed without a fence. This could result in RDMA read or atomic operations failure due to a MR being invalidated. Fix this by adding the mlx5 enumeration for fencing RDMA/atomic operations and fix the logic to apply this.
--- drivers/infiniband/hw/mlx5/qp.c | 7 ++++--- include/linux/mlx5/qp.h | 1 + 2 files changed, 5 insertions(+), 3 deletions(-)
drivers/infiniband/hw/mlx5/qp.c +4 -3
@@ -2037,10 +2037,11 @@ static u8 get_fence(u8 fence, struct ib_return MLX5_FENCE_MODE_SMALL_AND_FENCE ; else return fence; - - }else { -return 0 ; + }else if (unlikely (wr->send_flags &IB_SEND_FENCE )) { +return MLX5_FENCE_MODE_FENCE ; } + +return 0 ; } int mlx5_ib_post_send(struct ib_qp *ibqp, struct ib_send_wr *wr,
include/linux/mlx5/qp.h +1 -0
@@ -137,6 +137,7 @@ enum {enum {MLX5_FENCE_MODE_NONE =0 <<5 ,MLX5_FENCE_MODE_INITIATOR_SMALL =1 <<5 , +MLX5_FENCE_MODE_FENCE =2 <<5 ,MLX5_FENCE_MODE_STRONG_ORDERING =3 <<5 ,MLX5_FENCE_MODE_SMALL_AND_FENCE =4 <<5 , };
Patches currently in stable-queue which might be from [email protected] are
queue-3.14/ib-mlx5-fix-post-send-fence-logic.patch