Re: [PATCH v2 rdma-next] RDMA/mlx5: Enable Relaxed Ordering by default for kernel ULPs

From: Leon Romanovsky
Date: Thu Jun 10 2021 - 03:45:01 EST


On Wed, Jun 09, 2021 at 03:59:24PM +0200, Christoph Hellwig wrote:
> On Wed, Jun 09, 2021 at 04:53:23PM +0300, Leon Romanovsky wrote:
> > Sure, did you have in mind some concrete place? Or will new file in the
> > Documentation/infiniband/ folder be good enough too?
>
> Maybe add a kerneldoc comment for the map_mr_sg() ib_device_ops method?

I hope that this hunk from the previous cover letter is good enough.

Jason, do you want v3? or you can fold this into v2?

diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
index 9423e70a881c..aaf63a6643d6 100644
--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -2468,6 +2468,13 @@ struct ib_device_ops {
enum ib_uverbs_advise_mr_advice advice, u32 flags,
struct ib_sge *sg_list, u32 num_sge,
struct uverbs_attr_bundle *attrs);
+ /*
+ * Kernel users should universally support relaxed ordering (RO),
+ * as they are designed to read data only after observing the CQE
+ * and use the DMA API correctly.
+ *
+ * Some drivers implicitly enable RO if platform supports it.
+ */
int (*map_mr_sg)(struct ib_mr *mr, struct scatterlist *sg, int sg_nents,
unsigned int *sg_offset);
int (*check_mr_status)(struct ib_mr *mr, u32 check_mask,