From: Leon Romanovsky <leonro@xxxxxxxxxx> >From Avihai, Currently, Relaxed Ordering (RO) can't be used in VFs directly and in VFs assigned to QEMU, even if the PF supports RO. This is due to issues in reporting/emulation of PCI config space RO bit and due to current HCA capability behavior. This series fixes it by using a new HCA capability and by relying on FW to do the "right thing" according to the PF's PCI config space RO value. Allowing RO in VFs and VMs is valuable since it can greatly improve performance on some setups. For example, testing throughput of a VF on an AMD EPYC 7763 and ConnectX-6 Dx setup showed roughly 60% performance improvement. Thanks Avihai Horon (4): RDMA/mlx5: Remove pcie_relaxed_ordering_enabled() check for RO write RDMA/mlx5: Check pcie_relaxed_ordering_enabled() in UMR net/mlx5: Update relaxed ordering read HCA capabilities RDMA/mlx5: Allow relaxed ordering read in VFs and VMs drivers/infiniband/hw/mlx5/mr.c | 12 ++++++++---- drivers/infiniband/hw/mlx5/umr.c | 7 +++++-- drivers/infiniband/hw/mlx5/umr.h | 3 ++- drivers/net/ethernet/mellanox/mlx5/core/en/params.c | 3 +-- drivers/net/ethernet/mellanox/mlx5/core/en_common.c | 9 +++++---- include/linux/mlx5/mlx5_ifc.h | 5 +++-- 6 files changed, 24 insertions(+), 15 deletions(-) -- 2.39.2