Patch "RDMA/mlx5: set UMR wqe fence according to HCA cap" has been added to the 4.9-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
RDMA/mlx5: set UMR wqe fence according to HCA cap
to the 4.9-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:
rdma-mlx5-set-umr-wqe-fence-according-to-hca-cap.patch
and it can be found in the queue-4.9 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
6e8484c5cf07c7ee632587e98c1a12d319dacb7cMon Sep 17 00:00:00 2001
From: Max Gurtovoy <[email protected]>
Date: Sun, 28 May 2017 10:53:11 +0300
Subject: RDMA/mlx5: set UMR wqe fence according to HCA cap
From: Max Gurtovoy <[email protected]>
commit 6e8484c5cf07c7ee632587e98c1a12d319dacb7c upstream.
Cache the needed umr_fence and set the wqe ctrl segmennt accordingly.
--- drivers/infiniband/hw/mlx5/main.c | 14 ++++++++ drivers/infiniband/hw/mlx5/mlx5_ib.h | 3 + drivers/infiniband/hw/mlx5/qp.c | 59 +++++++++++++---------------------- 3 files changed, 39 insertions(+), 37 deletions(-)
drivers/infiniband/hw/mlx5/main.c +14 -0
@@ -2575,6 +2575,18 @@ error_0:return ret; } +static u8 mlx5_get_umr_fence (u8 umr_fence_cap) +{ +switch (umr_fence_cap) { +case MLX5_CAP_UMR_FENCE_NONE : +return MLX5_FENCE_MODE_NONE ; +case MLX5_CAP_UMR_FENCE_SMALL : +return MLX5_FENCE_MODE_INITIATOR_SMALL ; +default : +return MLX5_FENCE_MODE_STRONG_ORDERING ; + } +} +static int create_dev_resources (struct mlx5_ib_resources *devr) {struct ib_srq_init_attr attr;
@@ -3101,6 +3113,8 @@ static void *mlx5_ib_add(struct mlx5_cormlx5_ib_internal_fill_odp_caps (dev); + dev->umr_fence =mlx5_get_umr_fence (MLX5_CAP_GEN (mdev, umr_fence)); +if (MLX5_CAP_GEN (mdev, imaicl)) { dev->ib_dev.alloc_mw = mlx5_ib_alloc_mw; dev->ib_dev.dealloc_mw = mlx5_ib_dealloc_mw;
drivers/infiniband/hw/mlx5/mlx5_ib.h +2 -1
@@ -345,7 +345,7 @@ struct mlx5_ib_qp {struct mlx5_ib_wq rq;u8 sq_signal_bits; -u8 fm_cache; +u8 next_fence;struct mlx5_ib_wq sq;/* serialize qp state modifications
@@ -643,6 +643,7 @@ struct mlx5_ib_dev {struct list_head qp_list;/* Array with num_ports elements */ struct mlx5_ib_port *port; +u8 umr_fence; };static inline struct mlx5_ib_cq *to_mibcq (struct mlx5_core_cq *mcq)
drivers/infiniband/hw/mlx5/qp.c +23 -36
131 lines not on this page · raw message
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/net-mlx5-define-interface-bits-for-fencing-umr-wqe.patch queue-4.9/rdma-mlx5-set-umr-wqe-fence-according-to-hca-cap.patch