On Mon, Apr 05, 2021 at 02:01:16PM -0400, Tom Talpey wrote: > On 4/5/2021 1:23 AM, Leon Romanovsky wrote: > > From: Avihai Horon <avihaih@xxxxxxxxxx> > > > > Enable Relaxed Ordering in __ib_alloc_pd() allocation of the > > local_dma_lkey. > > > > This will take effect only for devices that don't pre-allocate the lkey > > but allocate it per PD allocation. > > > > Signed-off-by: Avihai Horon <avihaih@xxxxxxxxxx> > > Reviewed-by: Michael Guralnik <michaelgur@xxxxxxxxxx> > > Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxx> > > --- > > drivers/infiniband/core/verbs.c | 3 ++- > > drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c | 1 + > > 2 files changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c > > index a1782f8a6ca0..9b719f7d6fd5 100644 > > --- a/drivers/infiniband/core/verbs.c > > +++ b/drivers/infiniband/core/verbs.c > > @@ -287,7 +287,8 @@ struct ib_pd *__ib_alloc_pd(struct ib_device *device, unsigned int flags, > > if (device->attrs.device_cap_flags & IB_DEVICE_LOCAL_DMA_LKEY) > > pd->local_dma_lkey = device->local_dma_lkey; > > else > > - mr_access_flags |= IB_ACCESS_LOCAL_WRITE; > > + mr_access_flags |= > > + IB_ACCESS_LOCAL_WRITE | IB_ACCESS_RELAXED_ORDERING; > > So, do local_dma_lkey's get relaxed ordering unconditionally? Yes, in mlx5, this lkey is created on the fly. Thanks