Re: [PATCH rdma-next v1 2/2] RDMA/mlx5: Allow modifying Relaxed Ordering via fast registration

From: Leon Romanovsky
Date: Wed Jun 02 2021 - 08:16:24 EST


On Wed, May 26, 2021 at 04:49:06PM -0300, Jason Gunthorpe wrote:
> On Thu, May 20, 2021 at 01:13:36PM +0300, Leon Romanovsky wrote:
> > From: Avihai Horon <avihaih@xxxxxxxxxx>
> >
> > Relaxed Ordering is enabled by default for kernel ULPs, and is set
> > during MKey creation, yet it cannot be modified by them afterwards.
> >
> > Allow modifying Relaxed Ordering via fast registration work request.
> > This is done by setting the relevant flags in the MKey context mask and
> > the Relaxed Ordering flags in the MKey context itself.
> >
> > Only ConnectX-7 supports modifying Relaxed Ordering via fast
> > registration, and HCA capabilities indicate it. These capabilities are
> > checked, and if a fast registration work request tries to modify Relaxed
> > Ordering and the capabilities are not present, the work request will fail.
>
>
> > @@ -762,23 +786,33 @@ static void set_sig_mkey_segment(struct mlx5_mkey_seg *seg,
> > seg->len = cpu_to_be64(length);
> > seg->xlt_oct_size = cpu_to_be32(get_xlt_octo(size));
> > seg->bsfs_octo_size = cpu_to_be32(MLX5_MKEY_BSF_OCTO_SIZE);
> > +
> > + if (!(access_flags & IB_ACCESS_DISABLE_RELAXED_ORDERING)) {
> > + MLX5_SET(mkc, seg, relaxed_ordering_write,
> > + MLX5_CAP_GEN(dev->mdev, relaxed_ordering_write_umr));
> > + MLX5_SET(mkc, seg, relaxed_ordering_read,
> > + MLX5_CAP_GEN(dev->mdev, relaxed_ordering_read_umr));
> > + }
> > }
>
> I don't quite get this patch

This is premature optimization. We don't really need it.

Thanks