在 2024/9/3 19:37, Leon Romanovsky 写道:
From: Leon Romanovsky <leonro@xxxxxxxxxx> Hi, This series from Edward introduces mlx5 data direct placement (DDP) feature. This feature allows WRs on the receiver side of the QP to be consumed out of order, 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.
It is an interesting feature. If I got this feature correctly, this feature permits the user consumes the data out of order when RDMA Write and Send operations. But its completiong ordering is still in order.
Any scenario that this feature can be applied and what benefits will be got from this feature?
I am just curious about this. Normally the users will consume the data in order. In what scenario, the user will consume the data out of order?
Thanks, Zhu Yanjun
Thanks Edward Srouji (2): net/mlx5: Introduce data placement ordering bits RDMA/mlx5: Support OOO RX WQE consumption drivers/infiniband/hw/mlx5/main.c | 8 +++++ drivers/infiniband/hw/mlx5/mlx5_ib.h | 1 + drivers/infiniband/hw/mlx5/qp.c | 51 +++++++++++++++++++++++++--- include/linux/mlx5/mlx5_ifc.h | 24 +++++++++---- include/uapi/rdma/mlx5-abi.h | 5 +++ 5 files changed, 78 insertions(+), 11 deletions(-)