Re: [PATCH rdma-next 08/10] RDMA/uverbs: Add new relaxed ordering memory region access flag

Jason Gunthorpe
2020-01-15T18:05:53Z

On Wed, Jan 08, 2020 at 08:05:38PM +0200, Yishai Hadas wrote:
> From: Michael Guralnik <michaelgur@mellanox.com>
>
> Adding new relaxed ordering access flag for memory regions.
> Using memory regions with relaxed ordeing set can enhance performance.
>
> This access flag is handled in a best-effort manner, drivers should
> ignore if they don't support setting relaxed ordering.
>
> Signed-off-by: Michael Guralnik <michaelgur@mellanox.com>
> Signed-off-by: Yishai Hadas <yishaih@mellanox.com>
> include/rdma/ib_verbs.h | 1 +
> include/uapi/rdma/ib_user_ioctl_verbs.h | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
> index ffb358f..2b3c16f 100644
> +++ b/include/rdma/ib_verbs.h
> @@ -1418,6 +1418,7 @@ enum ib_access_flags {
> IB_ZERO_BASED = IB_UVERBS_ACCESS_ZERO_BASED,
> IB_ACCESS_ON_DEMAND = IB_UVERBS_ACCESS_ON_DEMAND,
> IB_ACCESS_HUGETLB = IB_UVERBS_ACCESS_HUGETLB,
> + IB_ACCESS_RELAXED_ORDERING = IB_UVERBS_ACCESS_RELAXED_ORDERING,
>
> IB_ACCESS_OPTIONAL = IB_UVERBS_ACCESS_OPTIONAL_RANGE,
> IB_ACCESS_SUPPORTED =
> diff --git a/include/uapi/rdma/ib_user_ioctl_verbs.h b/include/uapi/rdma/ib_user_ioctl_verbs.h
> index 76dbbd9..2a165f4 100644
> +++ b/include/uapi/rdma/ib_user_ioctl_verbs.h
> @@ -54,6 +54,7 @@ enum ib_uverbs_access_flags {
> IB_UVERBS_ACCESS_ON_DEMAND = 1 << 6,
> IB_UVERBS_ACCESS_HUGETLB = 1 << 7,
>
> + IB_UVERBS_ACCESS_RELAXED_ORDERING = IB_UVERBS_ACCESS_OPTIONAL_FIRST,
> IB_UVERBS_ACCESS_OPTIONAL_RANGE =
> ((IB_UVERBS_ACCESS_OPTIONAL_LAST << 1) - 1) &
> ~(IB_UVERBS_ACCESS_OPTIONAL_FIRST - 1)

I would like to see a followup patch to add the DMA_ATTR_WEAK_ORDERING
setting to ib_umem_get when RELAXED_ORDERING is set.

Jason