Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma
Pull rdma updates from Jason Gunthorpe:
"A usual cycle for RDMA with a typical mix of driver and core subsystem
updates:
- Driver minor changes and bug fixes for mlx5, efa, rxe, vmw_pvrdma,
hns, usnic, qib, qedr, cxgb4, hns, bnxt_re
- Various rtrs fixes and updates
- Bug fix for mlx4 CM emulation for virtualization scenarios where
MRA wasn't working right
- Use tracepoints instead of pr_debug in the CM code
- Scrub the locking in ucma and cma to close more syzkaller bugs
- Use tasklet_setup in the subsystem
- Revert the idea that 'destroy' operations are not allowed to fail
at the driver level. This proved unworkable from a HW perspective.
- Revise how the umem API works so drivers make fewer mistakes using
it
- XRC support for qedr
- Convert uverbs objects RWQ and MW to new the allocation scheme
- Large queue entry sizes for hns
- Use hmm_range_fault() for mlx5 On Demand Paging
- uverbs APIs to inspect the GID table instead of sysfs
- Move some of the RDMA code for building large page SGLs into
lib/scatterlist"
* tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (191 commits)
RDMA/ucma: Fix use after free in destroy id flow
RDMA/rxe: Handle skb_clone() failure in rxe_recv.c
RDMA/rxe: Move the definitions for rxe_av.network_type to uAPI
RDMA: Explicitly pass in the dma_device to ib_register_device
lib/scatterlist: Do not limit max_segment to PAGE_ALIGNED values
IB/mlx4: Convert rej_tmout radix-tree to XArray
RDMA/rxe: Fix bug rejecting all multicast packets
RDMA/rxe: Fix skb lifetime in rxe_rcv_mcast_pkt()
RDMA/rxe: Remove duplicate entries in struct rxe_mr
IB/hfi,rdmavt,qib,opa_vnic: Update MAINTAINERS
IB/rdmavt: Fix sizeof mismatch
MAINTAINERS: CISCO VIC LOW LATENCY NIC DRIVER
RDMA/bnxt_re: Fix sizeof mismatch for allocation of pbl_tbl.
RDMA/bnxt_re: Use rdma_umem_for_each_dma_block()
RDMA/umem: Move to allocate SG table from pages
lib/scatterlist: Add support in dynamic allocation of SG table from pages
tools/testing/scatterlist: Show errors in human readable form
tools/testing/scatterlist: Rejuvenate bit-rotten test
RDMA/ipoib: Set rtnl_link_ops for ipoib interfaces
RDMA/uverbs: Expose the new GID query API to user space
...
This commit is contained in:
@@ -105,6 +105,7 @@ struct efa_ibv_create_ah_resp {
|
||||
|
||||
enum {
|
||||
EFA_QUERY_DEVICE_CAPS_RDMA_READ = 1 << 0,
|
||||
EFA_QUERY_DEVICE_CAPS_RNR_RETRY = 1 << 1,
|
||||
};
|
||||
|
||||
struct efa_ibv_ex_query_device_resp {
|
||||
|
||||
@@ -39,6 +39,8 @@
|
||||
struct hns_roce_ib_create_cq {
|
||||
__aligned_u64 buf_addr;
|
||||
__aligned_u64 db_addr;
|
||||
__u32 cqe_size;
|
||||
__u32 reserved;
|
||||
};
|
||||
|
||||
struct hns_roce_ib_create_cq_resp {
|
||||
@@ -73,7 +75,7 @@ struct hns_roce_ib_create_qp_resp {
|
||||
|
||||
struct hns_roce_ib_alloc_ucontext_resp {
|
||||
__u32 qp_tab_size;
|
||||
__u32 reserved;
|
||||
__u32 cqe_size;
|
||||
};
|
||||
|
||||
struct hns_roce_ib_alloc_pd_resp {
|
||||
|
||||
@@ -70,6 +70,8 @@ enum uverbs_methods_device {
|
||||
UVERBS_METHOD_QUERY_PORT,
|
||||
UVERBS_METHOD_GET_CONTEXT,
|
||||
UVERBS_METHOD_QUERY_CONTEXT,
|
||||
UVERBS_METHOD_QUERY_GID_TABLE,
|
||||
UVERBS_METHOD_QUERY_GID_ENTRY,
|
||||
};
|
||||
|
||||
enum uverbs_attrs_invoke_write_cmd_attr_ids {
|
||||
@@ -352,4 +354,18 @@ enum uverbs_attrs_async_event_create {
|
||||
UVERBS_ATTR_ASYNC_EVENT_ALLOC_FD_HANDLE,
|
||||
};
|
||||
|
||||
enum uverbs_attrs_query_gid_table_cmd_attr_ids {
|
||||
UVERBS_ATTR_QUERY_GID_TABLE_ENTRY_SIZE,
|
||||
UVERBS_ATTR_QUERY_GID_TABLE_FLAGS,
|
||||
UVERBS_ATTR_QUERY_GID_TABLE_RESP_ENTRIES,
|
||||
UVERBS_ATTR_QUERY_GID_TABLE_RESP_NUM_ENTRIES,
|
||||
};
|
||||
|
||||
enum uverbs_attrs_query_gid_entry_cmd_attr_ids {
|
||||
UVERBS_ATTR_QUERY_GID_ENTRY_PORT,
|
||||
UVERBS_ATTR_QUERY_GID_ENTRY_GID_INDEX,
|
||||
UVERBS_ATTR_QUERY_GID_ENTRY_FLAGS,
|
||||
UVERBS_ATTR_QUERY_GID_ENTRY_RESP_ENTRY,
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -208,6 +208,7 @@ enum ib_uverbs_read_counters_flags {
|
||||
enum ib_uverbs_advise_mr_advice {
|
||||
IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH,
|
||||
IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_WRITE,
|
||||
IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_NO_FAULT,
|
||||
};
|
||||
|
||||
enum ib_uverbs_advise_mr_flag {
|
||||
@@ -250,4 +251,18 @@ enum rdma_driver_id {
|
||||
RDMA_DRIVER_SIW,
|
||||
};
|
||||
|
||||
enum ib_uverbs_gid_type {
|
||||
IB_UVERBS_GID_TYPE_IB,
|
||||
IB_UVERBS_GID_TYPE_ROCE_V1,
|
||||
IB_UVERBS_GID_TYPE_ROCE_V2,
|
||||
};
|
||||
|
||||
struct ib_uverbs_gid_entry {
|
||||
__aligned_u64 gid[2];
|
||||
__u32 gid_index;
|
||||
__u32 port_num;
|
||||
__u32 gid_type;
|
||||
__u32 netdev_ifindex; /* It is 0 if there is no netdev associated with it */
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -457,6 +457,17 @@ struct ib_uverbs_poll_cq {
|
||||
__u32 ne;
|
||||
};
|
||||
|
||||
enum ib_uverbs_wc_opcode {
|
||||
IB_UVERBS_WC_SEND = 0,
|
||||
IB_UVERBS_WC_RDMA_WRITE = 1,
|
||||
IB_UVERBS_WC_RDMA_READ = 2,
|
||||
IB_UVERBS_WC_COMP_SWAP = 3,
|
||||
IB_UVERBS_WC_FETCH_ADD = 4,
|
||||
IB_UVERBS_WC_BIND_MW = 5,
|
||||
IB_UVERBS_WC_LOCAL_INV = 6,
|
||||
IB_UVERBS_WC_TSO = 7,
|
||||
};
|
||||
|
||||
struct ib_uverbs_wc {
|
||||
__aligned_u64 wr_id;
|
||||
__u32 status;
|
||||
|
||||
@@ -39,6 +39,11 @@
|
||||
#include <linux/in.h>
|
||||
#include <linux/in6.h>
|
||||
|
||||
enum {
|
||||
RXE_NETWORK_TYPE_IPV4 = 1,
|
||||
RXE_NETWORK_TYPE_IPV6 = 2,
|
||||
};
|
||||
|
||||
union rxe_gid {
|
||||
__u8 raw[16];
|
||||
struct {
|
||||
@@ -57,6 +62,7 @@ struct rxe_global_route {
|
||||
|
||||
struct rxe_av {
|
||||
__u8 port_num;
|
||||
/* From RXE_NETWORK_TYPE_* */
|
||||
__u8 network_type;
|
||||
__u8 dmac[6];
|
||||
struct rxe_global_route grh;
|
||||
@@ -99,8 +105,8 @@ struct rxe_send_wr {
|
||||
struct ib_mr *mr;
|
||||
__aligned_u64 reserved;
|
||||
};
|
||||
__u32 key;
|
||||
__u32 access;
|
||||
__u32 key;
|
||||
__u32 access;
|
||||
} reg;
|
||||
} wr;
|
||||
};
|
||||
@@ -112,7 +118,7 @@ struct rxe_sge {
|
||||
};
|
||||
|
||||
struct mminfo {
|
||||
__aligned_u64 offset;
|
||||
__aligned_u64 offset;
|
||||
__u32 size;
|
||||
__u32 pad;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user