]> www.infradead.org Git - users/jedix/linux-maple.git/commit
RDMA/mlx5: Support OOO RX WQE consumption
authorEdward Srouji <edwards@nvidia.com>
Tue, 3 Sep 2024 11:37:52 +0000 (14:37 +0300)
committerLeon Romanovsky <leon@kernel.org>
Mon, 4 Nov 2024 11:57:20 +0000 (06:57 -0500)
commit8b36f7c3c6618dc97697a6a20a13b29651f68ab6
treef25f5ff21af2459fc42b68a910d3d2fd8402f21b
parent8439662f6f1654733e90453f33db41c6178f1b54
RDMA/mlx5: Support OOO RX WQE consumption

Support QP with out-of-order (OOO) capabilities enabled.
This allows WRs on the receiver side of the QP to be consumed OOO,
permitting the sender side to transmit messages without guaranteeing
arrival order on the receiver side.

When enabled, the completion ordering of WRs remains in-order,
regardless of the Receive WRs consumption order.
RDMA Read and RDMA Atomic operations on the responder side continue to
be executed in-order, while the ordering of data placement for RDMA
Write and Send operations is not guaranteed.

Atomic operations larger than 8 bytes are currently not supported.
Therefore, when this feature is enabled, the created QP restricts its
atomic support to 8 bytes at most.

In addition, when querying the device, a new flag is returned in
response to indicate that the Kernel supports OOO QP.

Signed-off-by: Edward Srouji <edwards@nvidia.com>
Reviewed-by: Yishai Hadas <yishaih@nvidia.com>
Link: https://patch.msgid.link/06ac609a5f358c8fb0a090d22c61a2f9329d82e6.1725362773.git.leon@kernel.org
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/hw/mlx5/main.c
drivers/infiniband/hw/mlx5/mlx5_ib.h
drivers/infiniband/hw/mlx5/qp.c
include/uapi/rdma/mlx5-abi.h