History

Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma

Pull rdma updates from Jason Gunthorpe: "A quiet cycle after the larger 5.8 effort. Substantially cleanup and driver work with a few smaller features this time. - Driver updates for hfi1, rxe, mlx5, hns, qedr, usnic, bnxt_re - Removal of dead or redundant code across the drivers - RAW resource tracker dumps to include a device specific data blob for device objects to aide device debugging - Further advance the IOCTL interface, remove the ability to turn it off. Add QUERY_CONTEXT, QUERY_MR, and QUERY_PD commands - Remove stubs related to devices with no pkey table - A shared CQ scheme to allow multiple ULPs to share the CQ rings of a device to give higher performance - Several more static checker, syzkaller and rare crashers fixed" * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (121 commits) RDMA/mlx5: Fix flow destination setting for RDMA TX flow table RDMA/rxe: Remove pkey table RDMA/umem: Add a schedule point in ib_umem_get() RDMA/hns: Fix the unneeded process when getting a general type of CQE error RDMA/hns: Fix error during modify qp RTS2RTS RDMA/hns: Delete unnecessary memset when allocating VF resource RDMA/hns: Remove redundant parameters in set_rc_wqe() RDMA/hns: Remove support for HIP08_A RDMA/hns: Refactor hns_roce_v2_set_hem() RDMA/hns: Remove redundant hardware opcode definitions RDMA/netlink: Remove CAP_NET_RAW check when dump a raw QP RDMA/include: Replace license text with SPDX tags RDMA/rtrs: remove WQ_MEM_RECLAIM for rtrs_wq RDMA/rtrs-clt: add an additional random 8 seconds before reconnecting RDMA/cma: Execute rdma_cm destruction from a handler properly RDMA/cma: Remove unneeded locking for req paths RDMA/cma: Using the standard locking pattern when delivering the removal event RDMA/cma: Simplify DEVICE_REMOVAL for internal_id RDMA/efa: Add EFA 0xefa1 PCI ID RDMA/efa: User/kernel compatibility handshake mechanism ...

Linus Torvalds committed 6 years ago

Commit d7806bb2 parents d6efb3a 23fcc7d166 files · +6945 −7569Browse files

Showing the changes to include/uapi (6 of 166 files). Show all

Unified · Split

6 files
  1. include/uapi/rdma/efa-abi.h +14 −1
  2. include/uapi/rdma/ib_user_ioctl_cmds.h +15 −0
  3. include/uapi/rdma/mlx5_user_ioctl_cmds.h +15 −1
  4. include/uapi/rdma/qedr-abi.h +7 −3
  5. include/uapi/rdma/rdma_netlink.h +9 −0
  6. include/uapi/rdma/rdma_user_ioctl.h +1 −1
include/uapi/rdma/efa-abi.h+14−1
@@ -1,6 +1,6 @@
11 /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause) */
22 /*
3− * Copyright 2018-2019 Amazon.com, Inc. or its affiliates. All rights reserved.
3+ * Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All rights reserved.
44 */
55
66 #ifndef EFA_ABI_USER_H
@@ -20,6 +20,16 @@ · 13 unmodified lines
2020 * hex bit offset of the field.
2121 */
2222
23+enum {
24+ EFA_ALLOC_UCONTEXT_CMD_COMP_TX_BATCH = 1 << 0,
25+ EFA_ALLOC_UCONTEXT_CMD_COMP_MIN_SQ_WR = 1 << 1,
26+};
27+
28+struct efa_ibv_alloc_ucontext_cmd {
29+ __u32 comp_mask;
30+ __u8 reserved_20[4];
31+};
32+
2333 enum efa_ibv_user_cmds_supp_udata {
2434 EFA_USER_CMDS_SUPP_UDATA_QUERY_DEVICE = 1 << 0,
2535 EFA_USER_CMDS_SUPP_UDATA_CREATE_AH = 1 << 1,
@@ -31,6 +41,9 @@ struct efa_ibv_alloc_ucontext_resp { · 5 unmodified lines
3141 __u16 sub_cqs_per_cq;
3242 __u16 inline_buf_size;
3343 __u32 max_llq_size; /* bytes */
44+ __u16 max_tx_batch; /* units of 64 bytes */
45+ __u16 min_sq_wr;
46+ __u8 reserved_a0[4];
3447 };
3548
3649 struct efa_ibv_alloc_pd_resp {
include/uapi/rdma/ib_user_ioctl_cmds.h+15−0
@@ -69,6 +69,7 @@ enum uverbs_methods_device { · 68 unmodified lines
6969 UVERBS_METHOD_INFO_HANDLES,
7070 UVERBS_METHOD_QUERY_PORT,
7171 UVERBS_METHOD_GET_CONTEXT,
72+ UVERBS_METHOD_QUERY_CONTEXT,
7273 };
7374
7475 enum uverbs_attrs_invoke_write_cmd_attr_ids {
@@ -87,6 +88,11 @@ enum uverbs_attrs_get_context_attr_ids { · 12 unmodified lines
8788 UVERBS_ATTR_GET_CONTEXT_CORE_SUPPORT,
8889 };
8990
91+enum uverbs_attrs_query_context_attr_ids {
92+ UVERBS_ATTR_QUERY_CONTEXT_NUM_COMP_VECTORS,
93+ UVERBS_ATTR_QUERY_CONTEXT_CORE_SUPPORT,
94+};
95+
9096 enum uverbs_attrs_create_cq_cmd_attr_ids {
9197 UVERBS_ATTR_CREATE_CQ_HANDLE,
9298 UVERBS_ATTR_CREATE_CQ_CQE,
@@ -242,6 +248,7 @@ enum uverbs_methods_mr { · 149 unmodified lines
242248 UVERBS_METHOD_DM_MR_REG,
243249 UVERBS_METHOD_MR_DESTROY,
244250 UVERBS_METHOD_ADVISE_MR,
251+ UVERBS_METHOD_QUERY_MR,
245252 };
246253
247254 enum uverbs_attrs_mr_destroy_ids {
@@ -255,6 +262,14 @@ enum uverbs_attrs_advise_mr_cmd_attr_ids { · 7 unmodified lines
255262 UVERBS_ATTR_ADVISE_MR_SGE_LIST,
256263 };
257264
265+enum uverbs_attrs_query_mr_cmd_attr_ids {
266+ UVERBS_ATTR_QUERY_MR_HANDLE,
267+ UVERBS_ATTR_QUERY_MR_RESP_LKEY,
268+ UVERBS_ATTR_QUERY_MR_RESP_RKEY,
269+ UVERBS_ATTR_QUERY_MR_RESP_LENGTH,
270+ UVERBS_ATTR_QUERY_MR_RESP_IOVA,
271+};
272+
258273 enum uverbs_attrs_create_counters_cmd_attr_ids {
259274 UVERBS_ATTR_CREATE_COUNTERS_HANDLE,
260275 };
include/uapi/rdma/mlx5_user_ioctl_cmds.h+15−1
@@ -228,6 +228,10 @@ enum mlx5_ib_flow_matcher_methods { · 227 unmodified lines
228228 MLX5_IB_METHOD_FLOW_MATCHER_DESTROY,
229229 };
230230
231+enum mlx5_ib_device_query_context_attrs {
232+ MLX5_IB_ATTR_QUERY_CONTEXT_RESP_UCTX = (1U << UVERBS_ID_NS_SHIFT),
233+};
234+
231235 #define MLX5_IB_DW_MATCH_PARAM 0x80
232236
233237 struct mlx5_ib_match_params {
@@ -259,7 +263,7 @@ enum mlx5_ib_create_flow_attrs { · 25 unmodified lines
259263 MLX5_IB_ATTR_CREATE_FLOW_FLAGS,
260264 };
261265
262−enum mlx5_ib_destoy_flow_attrs {
266+enum mlx5_ib_destroy_flow_attrs {
263267 MLX5_IB_ATTR_DESTROY_FLOW_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
264268 };
265269
@@ -286,4 +290,14 @@ enum mlx5_ib_create_flow_action_create_packet_reformat_attrs { · 20 unmodified lines
286290 MLX5_IB_ATTR_CREATE_PACKET_REFORMAT_DATA_BUF,
287291 };
288292
293+enum mlx5_ib_query_pd_attrs {
294+ MLX5_IB_ATTR_QUERY_PD_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
295+ MLX5_IB_ATTR_QUERY_PD_RESP_PDN,
296+};
297+
298+enum mlx5_ib_pd_methods {
299+ MLX5_IB_METHOD_PD_QUERY = (1U << UVERBS_ID_NS_SHIFT),
300+
301+};
302+
289303 #endif
include/uapi/rdma/qedr-abi.h+7−3
@@ -39,8 +39,9 @@ · 38 unmodified lines
3939
4040 /* user kernel communication data structures. */
4141 enum qedr_alloc_ucontext_flags {
42− QEDR_ALLOC_UCTX_RESERVED = 1 << 0,
43− QEDR_ALLOC_UCTX_DB_REC = 1 << 1
42+ QEDR_ALLOC_UCTX_EDPM_MODE = 1 << 0,
43+ QEDR_ALLOC_UCTX_DB_REC = 1 << 1,
44+ QEDR_SUPPORT_DPM_SIZES = 1 << 2,
4445 };
4546
4647 struct qedr_alloc_ucontext_req {
@@ -50,13 +51,14 @@ struct qedr_alloc_ucontext_req { · 3 unmodified lines
5051
5152 #define QEDR_LDPM_MAX_SIZE (8192)
5253 #define QEDR_EDPM_TRANS_SIZE (64)
54+#define QEDR_EDPM_MAX_SIZE (ROCE_REQ_MAX_INLINE_DATA_SIZE)
5355
5456 enum qedr_rdma_dpm_type {
5557 QEDR_DPM_TYPE_NONE = 0,
5658 QEDR_DPM_TYPE_ROCE_ENHANCED = 1 << 0,
5759 QEDR_DPM_TYPE_ROCE_LEGACY = 1 << 1,
5860 QEDR_DPM_TYPE_IWARP_LEGACY = 1 << 2,
59− QEDR_DPM_TYPE_RESERVED = 1 << 3,
61+ QEDR_DPM_TYPE_ROCE_EDPM_MODE = 1 << 3,
6062 QEDR_DPM_SIZES_SET = 1 << 4,
6163 };
6264
@@ -77,6 +79,8 @@ struct qedr_alloc_ucontext_resp { · 14 unmodified lines
7779 __u16 ldpm_limit_size;
7880 __u8 edpm_trans_size;
7981 __u8 reserved;
82+ __u16 edpm_limit_size;
83+ __u8 padding[6];
8084 };
8185
8286 struct qedr_alloc_pd_ureq {
include/uapi/rdma/rdma_netlink.h+9−0
@@ -287,6 +287,12 @@ enum rdma_nldev_command { · 286 unmodified lines
287287
288288 RDMA_NLDEV_CMD_STAT_DEL,
289289
290+ RDMA_NLDEV_CMD_RES_QP_GET_RAW,
291+
292+ RDMA_NLDEV_CMD_RES_CQ_GET_RAW,
293+
294+ RDMA_NLDEV_CMD_RES_MR_GET_RAW,
295+
290296 RDMA_NLDEV_NUM_OPS
291297 };
292298
@@ -525,6 +531,8 @@ enum rdma_nldev_attr { · 232 unmodified lines
525531 */
526532 RDMA_NLDEV_ATTR_DEV_DIM, /* u8 */
527533
534+ RDMA_NLDEV_ATTR_RES_RAW, /* binary */
535+
528536 /*
529537 * Always the end
530538 */
@@ -561,5 +569,6 @@ enum rdma_nl_counter_mode { · 30 unmodified lines
561569 */
562570 enum rdma_nl_counter_mask {
563571 RDMA_COUNTER_MASK_QP_TYPE = 1,
572+ RDMA_COUNTER_MASK_PID = 1 << 1,
564573 };
565574 #endif /* _UAPI_RDMA_NETLINK_H */
include/uapi/rdma/rdma_user_ioctl.h+1−1
@@ -43,7 +43,7 @@ · 42 unmodified lines
4343
4444 /*
4545 * General blocks assignments
46− * It is closed on purpose do not expose it it user space
46+ * It is closed on purpose - do not expose it to user space
4747 * #define MAD_CMD_BASE 0x00
4848 * #define HFI1_CMD_BAS 0xE0
4949 */