aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/rdma/mlx5-abi.h
diff options
context:
space:
mode:
authorGuy Levi <guyle@mellanox.com>2017-10-19 08:25:53 +0300
committerDoug Ledford <dledford@redhat.com>2017-10-25 14:17:06 -0400
commit7a0c8f4244e9ec7a630563d294b211342b46223d (patch)
treef5db884ceca6261ec04e0d70ef8174e0ac3a92fd /include/uapi/rdma/mlx5-abi.h
parentIB/mlx5: Support 128B CQE compression feature (diff)
downloadlinux-dev-7a0c8f4244e9ec7a630563d294b211342b46223d.tar.xz
linux-dev-7a0c8f4244e9ec7a630563d294b211342b46223d.zip
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. Signed-off-by: Guy Levi <guyle@mellanox.com> Reviewed-by: Mark Bloch <markb@mellanox.com> Signed-off-by: Leon Romanovsky <leon@kernel.org> Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to '')
-rw-r--r--include/uapi/rdma/mlx5-abi.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/uapi/rdma/mlx5-abi.h b/include/uapi/rdma/mlx5-abi.h
index a8fc1f0956d0..201a60f032dd 100644
--- a/include/uapi/rdma/mlx5-abi.h
+++ b/include/uapi/rdma/mlx5-abi.h
@@ -206,6 +206,7 @@ struct mlx5_ib_striding_rq_caps {
enum mlx5_ib_query_dev_resp_flags {
/* Support 128B CQE compression */
MLX5_IB_QUERY_DEV_RESP_FLAGS_CQE_128B_COMP = 1 << 0,
+ MLX5_IB_QUERY_DEV_RESP_FLAGS_CQE_128B_PAD = 1 << 1,
};
struct mlx5_ib_query_device_resp {
@@ -221,13 +222,17 @@ struct mlx5_ib_query_device_resp {
struct mlx5_ib_striding_rq_caps striding_rq_caps;
};
+enum mlx5_ib_create_cq_flags {
+ MLX5_IB_CREATE_CQ_FLAGS_CQE_128B_PAD = 1 << 0,
+};
+
struct mlx5_ib_create_cq {
__u64 buf_addr;
__u64 db_addr;
__u32 cqe_size;
__u8 cqe_comp_en;
__u8 cqe_comp_res_format;
- __u16 reserved; /* explicit padding (optional on i386) */
+ __u16 flags;
};
struct mlx5_ib_create_cq_resp {