From: Leon Romanovsky <leonro@xxxxxxxxxxxx> >From Yonatan, Scatter to CQE is a HW offload feature that saves PCI writes by scattering the payload to the CQE. The feature depends on the CQE size and if the CQE size is 64B, it will work for payload smaller than 32. If the CQE size is 128B, it will work for payload smaller than 64. The feature works for responder and requestor: 1. For responder, if the payload is small as required above, the data will be part of the CQE, and thus we save another PCI transaction the recv buffers. 2. For requestor, this can be used to get the RDMA_READ response and RDMA_ATOMIC response in the CQE. This feature is already supported in upstream. As part of this series, we are adding support for DC transport type and ability to enable the feature (force enable) in the requestor when SQ is not configured to signal all WRs. Thanks Yonatan Cohen (4): net/mlx5: Expose DC scatter to CQE capability bit IB/mlx5: Support scatter to CQE for DC transport type IB/mlx5: Verify that driver supports user flags IB/mlx5: Allow scatter to CQE without global signaled WRs drivers/infiniband/hw/mlx5/cq.c | 2 +- drivers/infiniband/hw/mlx5/mlx5_ib.h | 2 +- drivers/infiniband/hw/mlx5/qp.c | 91 ++++++++++++++++++++++++++++-------- include/linux/mlx5/mlx5_ifc.h | 3 +- include/uapi/rdma/mlx5-abi.h | 1 + 5 files changed, 77 insertions(+), 22 deletions(-) -- 2.14.4