RDMA/mlx5: Add DCS offload support
authorLior Nahmanson <liorna@mellanox.com>
Mon, 21 Jun 2021 07:06:16 +0000 (10:06 +0300)
committerJason Gunthorpe <jgg@nvidia.com>
Tue, 20 Jul 2021 18:04:14 +0000 (15:04 -0300)
commit11656f593a869a4345e3421037614d2b75ae2ad3
tree454bb4eb0c44217194f27b12437ff73e4c47b493
parent2013b4d525273e8ce6a6ff6518a4df3f8a8250cb
RDMA/mlx5: Add DCS offload support

DCS is an offload to SW load balancing of DC initiator work requests.

A single DCI can be connected to only one target at the time and can't
start new connection until the previous work request is completed.  This
limitation will cause to delay when the initiator process needs to
transfer data to multiple targets at the same time.  The SW solution is to
use a process that handling and spreading the work request on many DCIs
according to destinations.

This feature is an offload to this process and coming to reduce the load
from the CPU and improve the performance.

Link: https://lore.kernel.org/r/491c2c2afdb5b07de7f03eab3f93cf0704549dbc.1624258894.git.leonro@nvidia.com
Reviewed-by: Meir Lichtinger <meirl@nvidia.com>
Signed-off-by: Lior Nahmanson <liorna@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/mlx5/main.c
drivers/infiniband/hw/mlx5/qp.c
include/uapi/rdma/mlx5-abi.h