RDMA/mlx5: Enable ATS support for MRs and umems
authorJason Gunthorpe <jgg@nvidia.com>
Thu, 1 Sep 2022 14:20:56 +0000 (11:20 -0300)
committerJason Gunthorpe <jgg@nvidia.com>
Tue, 27 Sep 2022 13:15:24 +0000 (10:15 -0300)
commit72b2f7608a59727e7c2e5b11cff2749c2c080fac
treecdd1d28a40e6fa5611a92645c865d78c45435011
parent9af859c58d0f169ead0ed95204cdd891b0ee623a
RDMA/mlx5: Enable ATS support for MRs and umems

For mlx5 if ATS is enabled in the PCI config then the device will use ATS
requests for only certain DMA operations. This has to be opted in by the
SW side based on the mkey or umem settings.

ATS slows down the PCI performance, so it should only be set in cases when
it is needed. All of these cases revolve around optimizing PCI P2P
transfers and avoiding bad cases where the bus just doesn't work.

Link: https://lore.kernel.org/r/4-v1-bd147097458e+ede-umem_dmabuf_jgg@nvidia.com
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/mlx5/devx.c
drivers/infiniband/hw/mlx5/mlx5_ib.h
drivers/infiniband/hw/mlx5/mr.c