History

IB/mlx5: Support padded 128B CQE feature

In some benchmarks and some CPU architectures, writing the CQE on a full cache line size improves performance by saving memory access operations (read-modify-write) relative to partial cache line change. This patch lets the user to configure the device to pad the CQE up to 128B in case its content is less than 128B. Currently the driver supports only padding for a CQE size of 128B.

Guy Levi committed 9 years ago

Commit 7a0c8f41 parent de57f2a5 files · +42 −7Browse files

Showing the changes to include/uapi (1 of 5 files). Show all

Unified · Split

include/uapi/rdma/mlx5-abi.h+6−1
@@ -206,6 +206,7 @@ struct mlx5_ib_striding_rq_caps { · 205 unmodified lines
206206 enum mlx5_ib_query_dev_resp_flags {
207207 /* Support 128B CQE compression */
208208 MLX5_IB_QUERY_DEV_RESP_FLAGS_CQE_128B_COMP = 1 << 0,
209+ MLX5_IB_QUERY_DEV_RESP_FLAGS_CQE_128B_PAD = 1 << 1,
209210 };
210211
211212 struct mlx5_ib_query_device_resp {
@@ -221,13 +222,17 @@ struct mlx5_ib_query_device_resp { · 9 unmodified lines
221222 struct mlx5_ib_striding_rq_caps striding_rq_caps;
222223 };
223224
225+enum mlx5_ib_create_cq_flags {
226+ MLX5_IB_CREATE_CQ_FLAGS_CQE_128B_PAD = 1 << 0,
227+};
228+
224229 struct mlx5_ib_create_cq {
225230 __u64 buf_addr;
226231 __u64 db_addr;
227232 __u32 cqe_size;
228233 __u8 cqe_comp_en;
229234 __u8 cqe_comp_res_format;
230− __u16 reserved; /* explicit padding (optional on i386) */
235+ __u16 flags;
231236 };
232237
233238 struct mlx5_ib_create_cq_resp {

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t