Linux-RDMA Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH rdma-next 0/3] Create UMR with relaxed ordering
@ 2020-07-16 10:52 Leon Romanovsky
  2020-07-16 10:52 ` [PATCH mlx5-next 1/3] RDMA/mlx5: ConnectX-7 new capabilities to set relaxed ordering by UMR Leon Romanovsky
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Leon Romanovsky @ 2020-07-16 10:52 UTC (permalink / raw)
  To: Doug Ledford, Jason Gunthorpe
  Cc: Leon Romanovsky, linux-rdma, Meir Lichtinger, Michael Guralnik,
	netdev, Saeed Mahameed

From: Leon Romanovsky <leonro@mellanox.com>

Hi,

ConnectX-7 supports setting relaxed ordering read/write mkey attribute by UMR,
indicated by new HCA capabilities, so extend mlx5_ib driver to configure
UMR control segment based on those capabilities.

Thanks

Meir Lichtinger (3):
  RDMA/mlx5: ConnectX-7 new capabilities to set relaxed ordering by UMR
  RDMA/mlx5: Use MLX5_SET macro instead of local structure
  RDMA/mlx5: Set mkey relaxed ordering by UMR with ConnectX-7

 drivers/infiniband/hw/mlx5/mlx5_ib.h | 18 +++-----
 drivers/infiniband/hw/mlx5/wr.c      | 68 ++++++++++++++++++++--------
 include/linux/mlx5/device.h          |  5 +-
 include/linux/mlx5/mlx5_ifc.h        |  4 +-
 4 files changed, 63 insertions(+), 32 deletions(-)

--
2.26.2


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH mlx5-next 1/3] RDMA/mlx5: ConnectX-7 new capabilities to set relaxed ordering by UMR
  2020-07-16 10:52 [PATCH rdma-next 0/3] Create UMR with relaxed ordering Leon Romanovsky
@ 2020-07-16 10:52 ` Leon Romanovsky
  2020-07-16 10:52 ` [PATCH rdma-next 2/3] RDMA/mlx5: Use MLX5_SET macro instead of local structure Leon Romanovsky
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Leon Romanovsky @ 2020-07-16 10:52 UTC (permalink / raw)
  To: Doug Ledford, Jason Gunthorpe
  Cc: Meir Lichtinger, linux-rdma, netdev, Saeed Mahameed

From: Meir Lichtinger <meirl@mellanox.com>

Up to ConnectX-7 setting mkey relaxed ordering read/write attributes
by UMR is not supported. ConnectX-7 supports this option, which is
indicated by two new HCA capabilities - relaxed_ordering_write_umr
and relaxed_ordering_read_umr.

Signed-off-by: Meir Lichtinger <meirl@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
---
Not based on latest mlx5-next.
---
 include/linux/mlx5/mlx5_ifc.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/include/linux/mlx5/mlx5_ifc.h b/include/linux/mlx5/mlx5_ifc.h
index d22b3ff99b7a..2999a026938a 100644
--- a/include/linux/mlx5/mlx5_ifc.h
+++ b/include/linux/mlx5/mlx5_ifc.h
@@ -1216,7 +1216,9 @@ struct mlx5_ifc_cmd_hca_cap_bits {

 	u8         max_sgl_for_optimized_performance[0x8];
 	u8         log_max_cq_sz[0x8];
-	u8         reserved_at_d0[0xb];
+	u8         relaxed_ordering_write_umr[0x1];
+	u8         relaxed_ordering_read_umr[0x1];
+	u8         reserved_at_d2[0x9];
 	u8         log_max_cq[0x5];

 	u8         log_max_eq_sz[0x8];
--
2.26.2


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH rdma-next 2/3] RDMA/mlx5: Use MLX5_SET macro instead of local structure
  2020-07-16 10:52 [PATCH rdma-next 0/3] Create UMR with relaxed ordering Leon Romanovsky
  2020-07-16 10:52 ` [PATCH mlx5-next 1/3] RDMA/mlx5: ConnectX-7 new capabilities to set relaxed ordering by UMR Leon Romanovsky
@ 2020-07-16 10:52 ` Leon Romanovsky
  2020-07-16 10:52 ` [PATCH rdma-next 3/3] RDMA/mlx5: Set mkey relaxed ordering by UMR with ConnectX-7 Leon Romanovsky
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Leon Romanovsky @ 2020-07-16 10:52 UTC (permalink / raw)
  To: Doug Ledford, Jason Gunthorpe
  Cc: Meir Lichtinger, linux-rdma, netdev, Saeed Mahameed

From: Meir Lichtinger <meirl@mellanox.com>

Use generic mlx5 structure defined in mlx5_ifc.h to represent
ConnectX device data structures instead of using structure
defined specifically for mlx5_ib module

Signed-off-by: Meir Lichtinger <meirl@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
---
 drivers/infiniband/hw/mlx5/mlx5_ib.h |  9 ---------
 drivers/infiniband/hw/mlx5/wr.c      | 26 ++++++++++++++++----------
 include/linux/mlx5/device.h          |  1 -
 3 files changed, 16 insertions(+), 20 deletions(-)

diff --git a/drivers/infiniband/hw/mlx5/mlx5_ib.h b/drivers/infiniband/hw/mlx5/mlx5_ib.h
index 13a2d1f3f14d..52c384214f26 100644
--- a/drivers/infiniband/hw/mlx5/mlx5_ib.h
+++ b/drivers/infiniband/hw/mlx5/mlx5_ib.h
@@ -1361,15 +1361,6 @@ static inline void init_query_mad(struct ib_smp *mad)
 	mad->method	   = IB_MGMT_METHOD_GET;
 }

-static inline u8 convert_access(int acc)
-{
-	return (acc & IB_ACCESS_REMOTE_ATOMIC ? MLX5_PERM_ATOMIC       : 0) |
-	       (acc & IB_ACCESS_REMOTE_WRITE  ? MLX5_PERM_REMOTE_WRITE : 0) |
-	       (acc & IB_ACCESS_REMOTE_READ   ? MLX5_PERM_REMOTE_READ  : 0) |
-	       (acc & IB_ACCESS_LOCAL_WRITE   ? MLX5_PERM_LOCAL_WRITE  : 0) |
-	       MLX5_PERM_LOCAL_READ;
-}
-
 static inline int is_qp1(enum ib_qp_type qp_type)
 {
 	return qp_type == MLX5_IB_QPT_HW_GSI;
diff --git a/drivers/infiniband/hw/mlx5/wr.c b/drivers/infiniband/hw/mlx5/wr.c
index 2c6df1c43b55..e58ecb46f8e3 100644
--- a/drivers/infiniband/hw/mlx5/wr.c
+++ b/drivers/infiniband/hw/mlx5/wr.c
@@ -383,20 +383,26 @@ static void set_reg_mkey_segment(struct mlx5_mkey_seg *seg,

 	memset(seg, 0, sizeof(*seg));
 	if (wr->send_flags & MLX5_IB_SEND_UMR_DISABLE_MR)
-		seg->status = MLX5_MKEY_STATUS_FREE;
-
-	seg->flags = convert_access(umrwr->access_flags);
+		MLX5_SET(mkc, seg, free, 1);
+
+	MLX5_SET(mkc, seg, a,
+		 !!(umrwr->access_flags & IB_ACCESS_REMOTE_ATOMIC));
+	MLX5_SET(mkc, seg, rw,
+		 !!(umrwr->access_flags & IB_ACCESS_REMOTE_WRITE));
+	MLX5_SET(mkc, seg, rr, !!(umrwr->access_flags & IB_ACCESS_REMOTE_READ));
+	MLX5_SET(mkc, seg, lw, !!(umrwr->access_flags & IB_ACCESS_LOCAL_WRITE));
+	MLX5_SET(mkc, seg, lr, 1);
 	if (umrwr->pd)
-		seg->flags_pd = cpu_to_be32(to_mpd(umrwr->pd)->pdn);
+		MLX5_SET(mkc, seg, pd, to_mpd(umrwr->pd)->pdn);
 	if (wr->send_flags & MLX5_IB_SEND_UMR_UPDATE_TRANSLATION &&
 	    !umrwr->length)
-		seg->flags_pd |= cpu_to_be32(MLX5_MKEY_LEN64);
+		MLX5_SET(mkc, seg, length64, 1);

-	seg->start_addr = cpu_to_be64(umrwr->virt_addr);
-	seg->len = cpu_to_be64(umrwr->length);
-	seg->log2_page_size = umrwr->page_shift;
-	seg->qpn_mkey7_0 = cpu_to_be32(0xffffff00 |
-				       mlx5_mkey_variant(umrwr->mkey));
+	MLX5_SET64(mkc, seg, start_addr, umrwr->virt_addr);
+	MLX5_SET64(mkc, seg, len, umrwr->length);
+	MLX5_SET(mkc, seg, log_page_size, umrwr->page_shift);
+	MLX5_SET(mkc, seg, qpn, 0xffffff);
+	MLX5_SET(mkc, seg, mkey_7_0, mlx5_mkey_variant(umrwr->mkey));
 }

 static void set_reg_data_seg(struct mlx5_wqe_data_seg *dseg,
diff --git a/include/linux/mlx5/device.h b/include/linux/mlx5/device.h
index 57db125e5802..7940a574a618 100644
--- a/include/linux/mlx5/device.h
+++ b/include/linux/mlx5/device.h
@@ -1007,7 +1007,6 @@ enum {
 	MLX5_MKEY_REMOTE_INVAL	= 1 << 24,
 	MLX5_MKEY_FLAG_SYNC_UMR = 1 << 29,
 	MLX5_MKEY_BSF_EN	= 1 << 30,
-	MLX5_MKEY_LEN64		= 1 << 31,
 };

 struct mlx5_mkey_seg {
--
2.26.2


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH rdma-next 3/3] RDMA/mlx5: Set mkey relaxed ordering by UMR with ConnectX-7
  2020-07-16 10:52 [PATCH rdma-next 0/3] Create UMR with relaxed ordering Leon Romanovsky
  2020-07-16 10:52 ` [PATCH mlx5-next 1/3] RDMA/mlx5: ConnectX-7 new capabilities to set relaxed ordering by UMR Leon Romanovsky
  2020-07-16 10:52 ` [PATCH rdma-next 2/3] RDMA/mlx5: Use MLX5_SET macro instead of local structure Leon Romanovsky
@ 2020-07-16 10:52 ` Leon Romanovsky
  2020-07-24 18:48 ` [PATCH rdma-next 0/3] Create UMR with relaxed ordering Jason Gunthorpe
  2020-07-24 19:31 ` Leon Romanovsky
  4 siblings, 0 replies; 7+ messages in thread
From: Leon Romanovsky @ 2020-07-16 10:52 UTC (permalink / raw)
  To: Doug Ledford, Jason Gunthorpe
  Cc: Meir Lichtinger, linux-rdma, Michael Guralnik, netdev, Saeed Mahameed

From: Meir Lichtinger <meirl@mellanox.com>

Up to ConnectX-7 UMR is not used when user passes relaxed ordering
access flag. ConnectX-7 supports setting relaxed ordering read/write
mkey attribute by UMR, indicated by new HCA capabilities.

With ConnectX-7 driver uses UMR when user set relaxed ordering access
flag, in contrast to previous silicon models. Specifically it includes
setting relvant flags of mkey context mask in UMR control segment,
and relaxed ordering write and read flags in UMR mkey context segment.

Signed-off-by: Meir Lichtinger <meirl@mellanox.com>
Reviewed-by: Michael Guralnik <michaelgur@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
---
 drivers/infiniband/hw/mlx5/mlx5_ib.h |  9 ++++--
 drivers/infiniband/hw/mlx5/wr.c      | 44 ++++++++++++++++++++++------
 include/linux/mlx5/device.h          |  4 ++-
 3 files changed, 45 insertions(+), 12 deletions(-)

diff --git a/drivers/infiniband/hw/mlx5/mlx5_ib.h b/drivers/infiniband/hw/mlx5/mlx5_ib.h
index 52c384214f26..06ee2322052d 100644
--- a/drivers/infiniband/hw/mlx5/mlx5_ib.h
+++ b/drivers/infiniband/hw/mlx5/mlx5_ib.h
@@ -1459,8 +1459,13 @@ static inline bool mlx5_ib_can_use_umr(struct mlx5_ib_dev *dev,
 		return false;

 	if (access_flags & IB_ACCESS_RELAXED_ORDERING &&
-	    (MLX5_CAP_GEN(dev->mdev, relaxed_ordering_write) ||
-	     MLX5_CAP_GEN(dev->mdev, relaxed_ordering_read)))
+	    MLX5_CAP_GEN(dev->mdev, relaxed_ordering_write) &&
+	    !MLX5_CAP_GEN(dev->mdev, relaxed_ordering_write_umr))
+		return false;
+
+	if (access_flags & IB_ACCESS_RELAXED_ORDERING &&
+	     MLX5_CAP_GEN(dev->mdev, relaxed_ordering_read) &&
+	     !MLX5_CAP_GEN(dev->mdev, relaxed_ordering_read_umr))
 		return false;

 	return true;
diff --git a/drivers/infiniband/hw/mlx5/wr.c b/drivers/infiniband/hw/mlx5/wr.c
index e58ecb46f8e3..4d4f8c22b3e6 100644
--- a/drivers/infiniband/hw/mlx5/wr.c
+++ b/drivers/infiniband/hw/mlx5/wr.c
@@ -263,7 +263,9 @@ static __be64 get_umr_update_translation_mask(void)
 	return cpu_to_be64(result);
 }

-static __be64 get_umr_update_access_mask(int atomic)
+static __be64 get_umr_update_access_mask(int atomic,
+					 int relaxed_ordering_write,
+					 int relaxed_ordering_read)
 {
 	u64 result;

@@ -275,6 +277,12 @@ static __be64 get_umr_update_access_mask(int atomic)
 	if (atomic)
 		result |= MLX5_MKEY_MASK_A;

+	if (relaxed_ordering_write)
+		result |= MLX5_MKEY_MASK_RELAXED_ORDERING_WRITE;
+
+	if (relaxed_ordering_read)
+		result |= MLX5_MKEY_MASK_RELAXED_ORDERING_READ;
+
 	return cpu_to_be64(result);
 }

@@ -289,17 +297,28 @@ static __be64 get_umr_update_pd_mask(void)

 static int umr_check_mkey_mask(struct mlx5_ib_dev *dev, u64 mask)
 {
-	if ((mask & MLX5_MKEY_MASK_PAGE_SIZE &&
-	     MLX5_CAP_GEN(dev->mdev, umr_modify_entity_size_disabled)) ||
-	    (mask & MLX5_MKEY_MASK_A &&
-	     MLX5_CAP_GEN(dev->mdev, umr_modify_atomic_disabled)))
+	if (mask & MLX5_MKEY_MASK_PAGE_SIZE &&
+	    MLX5_CAP_GEN(dev->mdev, umr_modify_entity_size_disabled))
+		return -EPERM;
+
+	if (mask & MLX5_MKEY_MASK_A &&
+	    MLX5_CAP_GEN(dev->mdev, umr_modify_atomic_disabled))
+		return -EPERM;
+
+	if (mask & MLX5_MKEY_MASK_RELAXED_ORDERING_WRITE &&
+	    !MLX5_CAP_GEN(dev->mdev, relaxed_ordering_write_umr))
+		return -EPERM;
+
+	if (mask & MLX5_MKEY_MASK_RELAXED_ORDERING_READ &&
+	    !MLX5_CAP_GEN(dev->mdev, relaxed_ordering_read_umr))
 		return -EPERM;
+
 	return 0;
 }

 static int set_reg_umr_segment(struct mlx5_ib_dev *dev,
 			       struct mlx5_wqe_umr_ctrl_seg *umr,
-			       const struct ib_send_wr *wr, int atomic)
+			       const struct ib_send_wr *wr)
 {
 	const struct mlx5_umr_wr *umrwr = umr_wr(wr);

@@ -325,7 +344,10 @@ static int set_reg_umr_segment(struct mlx5_ib_dev *dev,
 	if (wr->send_flags & MLX5_IB_SEND_UMR_UPDATE_TRANSLATION)
 		umr->mkey_mask |= get_umr_update_translation_mask();
 	if (wr->send_flags & MLX5_IB_SEND_UMR_UPDATE_PD_ACCESS) {
-		umr->mkey_mask |= get_umr_update_access_mask(atomic);
+		umr->mkey_mask |= get_umr_update_access_mask(
+			!!(MLX5_CAP_GEN(dev->mdev, atomic)),
+			!!(MLX5_CAP_GEN(dev->mdev, relaxed_ordering_write_umr)),
+			!!(MLX5_CAP_GEN(dev->mdev, relaxed_ordering_read_umr)));
 		umr->mkey_mask |= get_umr_update_pd_mask();
 	}
 	if (wr->send_flags & MLX5_IB_SEND_UMR_ENABLE_MR)
@@ -392,6 +414,11 @@ static void set_reg_mkey_segment(struct mlx5_mkey_seg *seg,
 	MLX5_SET(mkc, seg, rr, !!(umrwr->access_flags & IB_ACCESS_REMOTE_READ));
 	MLX5_SET(mkc, seg, lw, !!(umrwr->access_flags & IB_ACCESS_LOCAL_WRITE));
 	MLX5_SET(mkc, seg, lr, 1);
+	MLX5_SET(mkc, seg, relaxed_ordering_write,
+		 !!(umrwr->access_flags & IB_ACCESS_RELAXED_ORDERING));
+	MLX5_SET(mkc, seg, relaxed_ordering_read,
+		 !!(umrwr->access_flags & IB_ACCESS_RELAXED_ORDERING));
+
 	if (umrwr->pd)
 		MLX5_SET(mkc, seg, pd, to_mpd(umrwr->pd)->pdn);
 	if (wr->send_flags & MLX5_IB_SEND_UMR_UPDATE_TRANSLATION &&
@@ -1230,8 +1257,7 @@ static int handle_qpt_reg_umr(struct mlx5_ib_dev *dev, struct mlx5_ib_qp *qp,

 	qp->sq.wr_data[idx] = MLX5_IB_WR_UMR;
 	(*ctrl)->imm = cpu_to_be32(umr_wr(wr)->mkey);
-	err = set_reg_umr_segment(dev, *seg, wr,
-				  !!(MLX5_CAP_GEN(dev->mdev, atomic)));
+	err = set_reg_umr_segment(dev, *seg, wr);
 	if (unlikely(err))
 		goto out;
 	*seg += sizeof(struct mlx5_wqe_umr_ctrl_seg);
diff --git a/include/linux/mlx5/device.h b/include/linux/mlx5/device.h
index 7940a574a618..b1a891576fbe 100644
--- a/include/linux/mlx5/device.h
+++ b/include/linux/mlx5/device.h
@@ -276,7 +276,9 @@ enum {
 	MLX5_MKEY_MASK_RW		= 1ull << 20,
 	MLX5_MKEY_MASK_A		= 1ull << 21,
 	MLX5_MKEY_MASK_SMALL_FENCE	= 1ull << 23,
-	MLX5_MKEY_MASK_FREE		= 1ull << 29,
+	MLX5_MKEY_MASK_RELAXED_ORDERING_WRITE	= 1ull << 25,
+	MLX5_MKEY_MASK_FREE			= 1ull << 29,
+	MLX5_MKEY_MASK_RELAXED_ORDERING_READ	= 1ull << 47,
 };

 enum {
--
2.26.2


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH rdma-next 0/3] Create UMR with relaxed ordering
  2020-07-16 10:52 [PATCH rdma-next 0/3] Create UMR with relaxed ordering Leon Romanovsky
                   ` (2 preceding siblings ...)
  2020-07-16 10:52 ` [PATCH rdma-next 3/3] RDMA/mlx5: Set mkey relaxed ordering by UMR with ConnectX-7 Leon Romanovsky
@ 2020-07-24 18:48 ` Jason Gunthorpe
  2020-07-24 19:31 ` Leon Romanovsky
  4 siblings, 0 replies; 7+ messages in thread
From: Jason Gunthorpe @ 2020-07-24 18:48 UTC (permalink / raw)
  To: Leon Romanovsky
  Cc: Doug Ledford, Leon Romanovsky, linux-rdma, Meir Lichtinger,
	Michael Guralnik, netdev, Saeed Mahameed

On Thu, Jul 16, 2020 at 01:52:45PM +0300, Leon Romanovsky wrote:
> From: Leon Romanovsky <leonro@mellanox.com>
> 
> Hi,
> 
> ConnectX-7 supports setting relaxed ordering read/write mkey attribute by UMR,
> indicated by new HCA capabilities, so extend mlx5_ib driver to configure
> UMR control segment based on those capabilities.
> 
> Thanks
> 
> Meir Lichtinger (3):
>   RDMA/mlx5: ConnectX-7 new capabilities to set relaxed ordering by UMR
>   RDMA/mlx5: Use MLX5_SET macro instead of local structure
>   RDMA/mlx5: Set mkey relaxed ordering by UMR with ConnectX-7

These look OK, can you apply the first patch to the shared branch
please?

Jason

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH rdma-next 0/3] Create UMR with relaxed ordering
  2020-07-16 10:52 [PATCH rdma-next 0/3] Create UMR with relaxed ordering Leon Romanovsky
                   ` (3 preceding siblings ...)
  2020-07-24 18:48 ` [PATCH rdma-next 0/3] Create UMR with relaxed ordering Jason Gunthorpe
@ 2020-07-24 19:31 ` Leon Romanovsky
  2020-07-27 14:47   ` Jason Gunthorpe
  4 siblings, 1 reply; 7+ messages in thread
From: Leon Romanovsky @ 2020-07-24 19:31 UTC (permalink / raw)
  To: Doug Ledford, Jason Gunthorpe
  Cc: linux-rdma, Meir Lichtinger, Michael Guralnik, netdev, Saeed Mahameed

On Thu, Jul 16, 2020 at 01:52:45PM +0300, Leon Romanovsky wrote:
> From: Leon Romanovsky <leonro@mellanox.com>
>
> Hi,
>
> ConnectX-7 supports setting relaxed ordering read/write mkey attribute by UMR,
> indicated by new HCA capabilities, so extend mlx5_ib driver to configure
> UMR control segment based on those capabilities.
>
> Thanks
>
> Meir Lichtinger (3):
>   RDMA/mlx5: ConnectX-7 new capabilities to set relaxed ordering by UMR
>   RDMA/mlx5: Use MLX5_SET macro instead of local structure
>   RDMA/mlx5: Set mkey relaxed ordering by UMR with ConnectX-7
>
>  drivers/infiniband/hw/mlx5/mlx5_ib.h | 18 +++-----
>  drivers/infiniband/hw/mlx5/wr.c      | 68 ++++++++++++++++++++--------
>  include/linux/mlx5/device.h          |  5 +-
>  include/linux/mlx5/mlx5_ifc.h        |  4 +-
>  4 files changed, 63 insertions(+), 32 deletions(-)

Thanks, first patch is applied to mlx5-next.
042dd05bddbd RDMA/mlx5: ConnectX-7 new capabilities to set relaxed ordering by UMR


>
> --
> 2.26.2
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH rdma-next 0/3] Create UMR with relaxed ordering
  2020-07-24 19:31 ` Leon Romanovsky
@ 2020-07-27 14:47   ` Jason Gunthorpe
  0 siblings, 0 replies; 7+ messages in thread
From: Jason Gunthorpe @ 2020-07-27 14:47 UTC (permalink / raw)
  To: Leon Romanovsky
  Cc: Doug Ledford, linux-rdma, Meir Lichtinger, Michael Guralnik,
	netdev, Saeed Mahameed

On Fri, Jul 24, 2020 at 10:31:51PM +0300, Leon Romanovsky wrote:
> On Thu, Jul 16, 2020 at 01:52:45PM +0300, Leon Romanovsky wrote:
> > From: Leon Romanovsky <leonro@mellanox.com>
> >
> > Hi,
> >
> > ConnectX-7 supports setting relaxed ordering read/write mkey attribute by UMR,
> > indicated by new HCA capabilities, so extend mlx5_ib driver to configure
> > UMR control segment based on those capabilities.
> >
> > Thanks
> >
> > Meir Lichtinger (3):
> >   RDMA/mlx5: ConnectX-7 new capabilities to set relaxed ordering by UMR
> >   RDMA/mlx5: Use MLX5_SET macro instead of local structure
> >   RDMA/mlx5: Set mkey relaxed ordering by UMR with ConnectX-7
> >
> >  drivers/infiniband/hw/mlx5/mlx5_ib.h | 18 +++-----
> >  drivers/infiniband/hw/mlx5/wr.c      | 68 ++++++++++++++++++++--------
> >  include/linux/mlx5/device.h          |  5 +-
> >  include/linux/mlx5/mlx5_ifc.h        |  4 +-
> >  4 files changed, 63 insertions(+), 32 deletions(-)
> 
> Thanks, first patch is applied to mlx5-next.
> 042dd05bddbd RDMA/mlx5: ConnectX-7 new capabilities to set relaxed ordering by UMR

Applied to for-next, thanks

Jason

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, back to index

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-16 10:52 [PATCH rdma-next 0/3] Create UMR with relaxed ordering Leon Romanovsky
2020-07-16 10:52 ` [PATCH mlx5-next 1/3] RDMA/mlx5: ConnectX-7 new capabilities to set relaxed ordering by UMR Leon Romanovsky
2020-07-16 10:52 ` [PATCH rdma-next 2/3] RDMA/mlx5: Use MLX5_SET macro instead of local structure Leon Romanovsky
2020-07-16 10:52 ` [PATCH rdma-next 3/3] RDMA/mlx5: Set mkey relaxed ordering by UMR with ConnectX-7 Leon Romanovsky
2020-07-24 18:48 ` [PATCH rdma-next 0/3] Create UMR with relaxed ordering Jason Gunthorpe
2020-07-24 19:31 ` Leon Romanovsky
2020-07-27 14:47   ` Jason Gunthorpe

Linux-RDMA Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-rdma/0 linux-rdma/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-rdma linux-rdma/ https://lore.kernel.org/linux-rdma \
		linux-rdma@vger.kernel.org
	public-inbox-index linux-rdma

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-rdma


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git