Skip to content

Commit 8439662

Browse files
committed
Introduce mlx5 data direct placement (DDP)
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. Signed-off-by: Leon Romanovsky <[email protected]> * mlx5-next: net/mlx5: Introduce data placement ordering bits
2 parents d7d5476 + 8ab3138 commit 8439662

File tree

1 file changed

+17
-6
lines changed

1 file changed

+17
-6
lines changed

include/linux/mlx5/mlx5_ifc.h

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1872,7 +1872,11 @@ struct mlx5_ifc_cmd_hca_cap_bits {
18721872
u8 reserved_at_328[0x2];
18731873
u8 relaxed_ordering_read[0x1];
18741874
u8 log_max_pd[0x5];
1875-
u8 reserved_at_330[0x5];
1875+
u8 dp_ordering_ooo_all_ud[0x1];
1876+
u8 dp_ordering_ooo_all_uc[0x1];
1877+
u8 dp_ordering_ooo_all_xrc[0x1];
1878+
u8 dp_ordering_ooo_all_dc[0x1];
1879+
u8 dp_ordering_ooo_all_rc[0x1];
18761880
u8 pcie_reset_using_hotreset_method[0x1];
18771881
u8 pci_sync_for_fw_update_with_driver_unload[0x1];
18781882
u8 vnic_env_cnt_steering_fail[0x1];
@@ -2094,7 +2098,9 @@ struct mlx5_ifc_cmd_hca_cap_2_bits {
20942098
u8 reserved_at_0[0x80];
20952099

20962100
u8 migratable[0x1];
2097-
u8 reserved_at_81[0x11];
2101+
u8 reserved_at_81[0x7];
2102+
u8 dp_ordering_force[0x1];
2103+
u8 reserved_at_89[0x9];
20982104
u8 query_vuid[0x1];
20992105
u8 reserved_at_93[0x5];
21002106
u8 umr_log_entity_size_5[0x1];
@@ -3524,7 +3530,8 @@ struct mlx5_ifc_qpc_bits {
35243530
u8 latency_sensitive[0x1];
35253531
u8 reserved_at_24[0x1];
35263532
u8 drain_sigerr[0x1];
3527-
u8 reserved_at_26[0x2];
3533+
u8 reserved_at_26[0x1];
3534+
u8 dp_ordering_force[0x1];
35283535
u8 pd[0x18];
35293536

35303537
u8 mtu[0x3];
@@ -3597,7 +3604,8 @@ struct mlx5_ifc_qpc_bits {
35973604
u8 rae[0x1];
35983605
u8 reserved_at_493[0x1];
35993606
u8 page_offset[0x6];
3600-
u8 reserved_at_49a[0x3];
3607+
u8 reserved_at_49a[0x2];
3608+
u8 dp_ordering_1[0x1];
36013609
u8 cd_slave_receive[0x1];
36023610
u8 cd_slave_send[0x1];
36033611
u8 cd_master[0x1];
@@ -4507,7 +4515,8 @@ struct mlx5_ifc_dctc_bits {
45074515
u8 state[0x4];
45084516
u8 reserved_at_8[0x18];
45094517

4510-
u8 reserved_at_20[0x8];
4518+
u8 reserved_at_20[0x7];
4519+
u8 dp_ordering_force[0x1];
45114520
u8 user_index[0x18];
45124521

45134522
u8 reserved_at_40[0x8];
@@ -4522,7 +4531,9 @@ struct mlx5_ifc_dctc_bits {
45224531
u8 latency_sensitive[0x1];
45234532
u8 rlky[0x1];
45244533
u8 free_ar[0x1];
4525-
u8 reserved_at_73[0xd];
4534+
u8 reserved_at_73[0x1];
4535+
u8 dp_ordering_1[0x1];
4536+
u8 reserved_at_75[0xb];
45264537

45274538
u8 reserved_at_80[0x8];
45284539
u8 cs_res[0x8];

0 commit comments

Comments
 (0)