[GIT PULL] Please pull RDMA subsystem changes
From: Jason Gunthorpe
Date: Thu Aug 06 2020 - 14:35:39 EST
Hi Linus,
These are the proposed RDMA patches for 5.9.
A quiet cycle after the larger 5.8 effort. Substantially cleanup and
driver work with a few smaller features this time.
There is one conflict with Kees's removal of uninitialized_var -
resolve by taking the RDMA version of the conflicting hunks to delete
the local variables.
The tag for-linus-merged with my merge resolution to your tree is also
available for reference.
Thanks,
Jason
The following changes since commit 2d1b69ed65ee033aa541518cc9f6a815296ac493:
net/mlx5: kTLS, Improve TLS params layout structures (2020-06-27 13:50:46 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus
for you to fetch changes up to 23fcc7dee2c6aba1060558683988263851e74bab:
RDMA/mlx5: Fix flow destination setting for RDMA TX flow table (2020-08-05 21:09:39 -0300)
----------------------------------------------------------------
RDMA 5.9 merge window pull request
Smaller set of RDMA updates. A smaller number of 'big topics' with the
majority of changes being driver updates.
- 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
----------------------------------------------------------------
Bolarinwa Olayemi Saheed (1):
IB/hfi1: Convert PCIBIOS_* errors to generic -E* errors
Christophe JAILLET (1):
RDMA/usnic: switch from 'pci_' to 'dma_' API
Chuck Lever (1):
RDMA/core: Clean up tracepoint headers
Colton Lewis (1):
RDMA: Correct trivial kernel-doc inconsistencies
Danil Kipnis (1):
RDMA/rtrs-clt: add an additional random 8 seconds before reconnecting
Daria Velikovsky (1):
RDMA/mlx5: Init dest_type when create flow
Devesh Sharma (6):
RDMA/bnxt_re: introduce wqe mode to select execution path
RDMA/bnxt_re: introduce a function to allocate swq
RDMA/bnxt_re: Pull psn buffer dynamically based on prod
RDMA/bnxt_re: Add helper data structures
RDMA/bnxt_re: Change wr posting logic to accommodate variable wqes
RDMA/bnxt_re: Update maintainers for Broadcom rdma driver
Eli Cohen (3):
net/mlx5: Support setting access rights of dma addresses
net/mlx5: Add VDPA interface type to supported enumerations
net/mlx5: Add interface changes required for VDPA
Eric Dumazet (1):
RDMA/umem: Add a schedule point in ib_umem_get()
Gal Pressman (8):
RDMA/core: Check for error instead of success in alloc MR function
RDMA/core: Remove ib_alloc_mr_user function
RDMA: Remove the udata parameter from alloc_mr callback
RDMA/mlx5: Remove unused to_mibmr function
RDMA/efa: Expose maximum TX doorbell batch
RDMA/efa: Expose minimum SQ size
RDMA/efa: User/kernel compatibility handshake mechanism
RDMA/efa: Add EFA 0xefa1 PCI ID
Gustavo A. R. Silva (2):
IB/hfi1: Remove unnecessary fall-through markings
IB/hfi1: Use fallthrough pseudo-keyword
Jack Wang (1):
RDMA/rtrs: remove WQ_MEM_RECLAIM for rtrs_wq
Jason Gunthorpe (9):
Merge branch 'raw_dumps' into rdma.git for-next
RDMA/ipoib: Fix ABBA deadlock with ipoib_reap_ah()
RDMA/core: Fix bogus WARN_ON during ib_unregister_device_queued()
Merge branch 'mlx5_ipoib_qpn' into rdma.git for-next
Merge branch 'mlx5_uar' into rdma.git /for-next
RDMA/cma: Simplify DEVICE_REMOVAL for internal_id
RDMA/cma: Using the standard locking pattern when delivering the removal event
RDMA/cma: Remove unneeded locking for req paths
RDMA/cma: Execute rdma_cm destruction from a handler properly
Jing Xiangfeng (1):
IB/srpt: Remove WARN_ON from srpt_cm_req_recv
Kamal Heib (16):
RDMA/ipoib: Return void from ipoib_mcast_stop_thread()
RDMA/hfi1: Remove hfi1_create_qp declaration
RDMA/rxe: Remove unused rxe_mem_map_pages
RDMA/ipoib: Return void from ipoib_ib_dev_stop()
RDMA/rxe: Drop pointless checks in rxe_init_ports
RDMA/rxe: Return void from rxe_init_port_param()
RDMA/rxe: Return void from rxe_mem_init_dma()
RDMA/rxe: Remove rxe_link_layer()
RDMA/core: Expose pkeys sysfs files only if pkey_tbl_len is set
RDMA/core: Allocate the pkey cache only if the pkey_tbl_len is set
RDMA/core: Remove query_pkey from the mandatory ops
RDMA/siw: Remove the query_pkey callback
RDMA/cxgb4: Remove the query_pkey callback
RDMA/i40iw: Remove the query_pkey callback
RDMA/qedr: Remove the query_pkey callback
RDMA/rxe: Remove pkey table
Lang Cheng (4):
RDMA/hns: Remove redundant hardware opcode definitions
RDMA/hns: Remove support for HIP08_A
RDMA/hns: Delete unnecessary memset when allocating VF resource
RDMA/hns: Fix error during modify qp RTS2RTS
Leon Romanovsky (16):
RDMA/core: Delete not-used create RWQ table function
RDMA/mlx5: Get XRCD number directly for the internal use
RDMA/core: Create and destroy counters in the ib_core
RDMA: Move XRCD to be under ib_core responsibility
RDMA/mlx5: Limit the scope of mlx5_ib_enable_driver function
RDMA/mlx5: Separate restrack callbacks initialization from main.c
RDMA/mlx5: Separate counters from main.c
RDMA/mlx5: Separate flow steering logic from main.c
RDMA/mlx5: Cleanup DEVX initialization flow
RDMA/mlx5: Delete one-time used functions
RDMA/core: Align abort/commit object scheme for write() and ioctl() paths
RDMA/core: Update write interface to use automatic object lifetime
RDMA/uverbs: Remove redundant assignments
RDMA/uverbs: Silence shiftTooManyBitsSigned warning
RDMA/mlx5: Delete unreachable code
RDMA/include: Replace license text with SPDX tags
Li Heng (1):
RDMA/core: Fix return error value in _ib_modify_qp() to negative
Maor Gottlieb (14):
RDMA/core: Don't call fill_res_entry for PD
RDMA: Add dedicated MR resource tracker function
RDMA: Add a dedicated CQ resource tracker function
RDMA: Add dedicated QP resource tracker function
RDMA: Add dedicated CM_ID resource tracker function
RDMA: Add support to dump resource tracker in RAW format
RDMA/mlx5: Add support to get QP resource in RAW format
RDMA/mlx5: Add support to get CQ resource in RAW format
RDMA/mlx5: Add support to get MR resource in RAW format
RDMA/mlx5: Introduce ODP prefetch counter
RDMA/core: Clean ib_alloc_xrcd() and reuse it to allocate XRC domain
RDMA/core: Optimize XRC target lookup
RDMA/mlx5: Allow SQ modification
RDMA/mlx5: Add missing srcu_read_lock in ODP implicit flow
Mark Zhang (4):
RDMA/counter: Add PID category support in auto mode
RDMA/counter: Only bind user QPs in auto mode
RDMA/counter: Allow manually bind QPs with different pids to same counter
RDMA/netlink: Remove CAP_NET_RAW check when dump a raw QP
Max Gurtovoy (1):
IB/isert: allocate RW ctxs according to max IO size
Meir Lichtinger (3):
RDMA/mlx5: ConnectX-7 new capabilities to set relaxed ordering by UMR
RDMA/mlx5: Use MLX5_SET macro instead of local structure
RDMA/mlx5: Set mkey relaxed ordering by UMR with ConnectX-7
Michael Guralnik (4):
net/mlx5: Enable QP number request when creating IPoIB underlay QP
RDMA/ipoib: Handle user-supplied address when creating child
net/mlx5: Enable count action for rules with allow action
RDMA/mlx5: Fix flow destination setting for RDMA TX flow table
Michal Kalderon (2):
RDMA/qedr: Add EDPM mode type for user-fw compatibility
RDMA/qedr: Add EDPM max size to alloc ucontext response
Mikhail Malygin (1):
RDMA/rxe: Prevent access to wr->next ptr afrer wr is posted to send queue
Pavel Machek (1):
RDMA/mlx5: Fix typo in enum name
Randy Dunlap (1):
RDMA: rdma_user_ioctl.h: fix a duplicated word + clarify
Shay Drory (3):
IB/mad: Issue complete whenever decrements agent refcount
IB/mad: Change atomics to refcount API
IB/mad: Delete RMPP_STATE_CANCELING state
Weihang Li (2):
RDMA/hns: Refactor hns_roce_v2_set_hem()
RDMA/hns: Remove redundant parameters in set_rc_wqe()
Xi Wang (2):
RDMA/hns: Optimize MTR level-0 addressing to access huge page
RDMA/hns: Fix the unneeded process when getting a general type of CQE error
Yamin Friedman (3):
IB/iser: use new shared CQ mechanism
IB/isert: use new shared CQ mechanism
IB/srpt: use new shared CQ mechanism
Yishai Hadas (7):
IB/uverbs: Enable CQ ioctl commands by default
IB/uverbs: Set IOVA on IB MR in uverbs layer
IB/uverbs: Expose UAPI to query ucontext
RDMA/mlx5: Refactor mlx5_ib_alloc_ucontext() response
RDMA/mlx5: Implement the query ucontext functionality
RDMA/mlx5: Introduce UAPI to query PD attributes
IB/uverbs: Expose UAPI to query MR
Yuval Basson (1):
RDMA/qedr: SRQ's bug fixes
Zhu Yanjun (1):
RDMA/rxe: Skip dgid check in loopback mode
MAINTAINERS | 1 +
drivers/infiniband/Kconfig | 8 -
drivers/infiniband/core/cache.c | 45 +-
drivers/infiniband/core/cma.c | 257 +-
drivers/infiniband/core/counters.c | 24 +-
drivers/infiniband/core/device.c | 28 +-
drivers/infiniband/core/mad.c | 30 +-
drivers/infiniband/core/mad_priv.h | 2 +-
drivers/infiniband/core/mad_rmpp.c | 27 +-
drivers/infiniband/core/nldev.c | 223 +-
drivers/infiniband/core/sysfs.c | 61 +-
drivers/infiniband/core/trace.c | 2 -
drivers/infiniband/core/umem.c | 1 +
drivers/infiniband/core/umem_odp.c | 2 +
drivers/infiniband/core/uverbs_cmd.c | 321 +-
drivers/infiniband/core/uverbs_ioctl.c | 1 +
drivers/infiniband/core/uverbs_main.c | 4 +
.../infiniband/core/uverbs_std_types_counters.c | 17 +-
drivers/infiniband/core/uverbs_std_types_cq.c | 3 -
drivers/infiniband/core/uverbs_std_types_device.c | 48 +-
drivers/infiniband/core/uverbs_std_types_mr.c | 54 +-
drivers/infiniband/core/verbs.c | 185 +-
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 170 +-
drivers/infiniband/hw/bnxt_re/ib_verbs.h | 10 +-
drivers/infiniband/hw/bnxt_re/main.c | 23 +-
drivers/infiniband/hw/bnxt_re/qplib_fp.c | 751 ++--
drivers/infiniband/hw/bnxt_re/qplib_fp.h | 127 +-
drivers/infiniband/hw/bnxt_re/qplib_res.h | 58 +-
drivers/infiniband/hw/bnxt_re/roce_hsi.h | 1 +
drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 9 +-
drivers/infiniband/hw/cxgb4/mem.c | 3 +-
drivers/infiniband/hw/cxgb4/provider.c | 22 +-
drivers/infiniband/hw/cxgb4/restrack.c | 24 +-
drivers/infiniband/hw/efa/efa_admin_cmds_defs.h | 15 +-
drivers/infiniband/hw/efa/efa_com_cmd.c | 2 +
drivers/infiniband/hw/efa/efa_com_cmd.h | 2 +
drivers/infiniband/hw/efa/efa_main.c | 6 +-
drivers/infiniband/hw/efa/efa_verbs.c | 42 +
drivers/infiniband/hw/hfi1/chip.c | 27 +-
drivers/infiniband/hw/hfi1/firmware.c | 16 -
drivers/infiniband/hw/hfi1/mad.c | 9 +-
drivers/infiniband/hw/hfi1/pcie.c | 22 +-
drivers/infiniband/hw/hfi1/pio.c | 2 +-
drivers/infiniband/hw/hfi1/pio_copy.c | 12 +-
drivers/infiniband/hw/hfi1/platform.c | 10 +-
drivers/infiniband/hw/hfi1/qp.c | 2 +-
drivers/infiniband/hw/hfi1/qp.h | 14 -
drivers/infiniband/hw/hfi1/qsfp.c | 4 +-
drivers/infiniband/hw/hfi1/rc.c | 25 +-
drivers/infiniband/hw/hfi1/sdma.c | 9 +-
drivers/infiniband/hw/hfi1/tid_rdma.c | 4 +-
drivers/infiniband/hw/hfi1/uc.c | 8 +-
drivers/infiniband/hw/hns/hns_roce_device.h | 31 +-
drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 7 +-
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 253 +-
drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 19 +-
drivers/infiniband/hw/hns/hns_roce_main.c | 2 +-
drivers/infiniband/hw/hns/hns_roce_mr.c | 210 +-
drivers/infiniband/hw/hns/hns_roce_qp.c | 10 -
drivers/infiniband/hw/hns/hns_roce_restrack.c | 14 +-
drivers/infiniband/hw/i40iw/i40iw_verbs.c | 22 +-
drivers/infiniband/hw/mlx4/main.c | 37 +-
drivers/infiniband/hw/mlx4/mlx4_ib.h | 2 +-
drivers/infiniband/hw/mlx4/mr.c | 3 +-
drivers/infiniband/hw/mlx5/Makefile | 6 +-
drivers/infiniband/hw/mlx5/cmd.c | 12 -
drivers/infiniband/hw/mlx5/cmd.h | 1 -
drivers/infiniband/hw/mlx5/counters.c | 709 ++++
drivers/infiniband/hw/mlx5/counters.h | 17 +
drivers/infiniband/hw/mlx5/devx.c | 102 +-
drivers/infiniband/hw/mlx5/devx.h | 45 +
drivers/infiniband/hw/mlx5/flow.c | 765 ----
drivers/infiniband/hw/mlx5/fs.c | 2516 +++++++++++
drivers/infiniband/hw/mlx5/fs.h | 29 +
drivers/infiniband/hw/mlx5/main.c | 4380 +++++---------------
drivers/infiniband/hw/mlx5/mlx5_ib.h | 109 +-
drivers/infiniband/hw/mlx5/mr.c | 2 +-
drivers/infiniband/hw/mlx5/odp.c | 28 +-
drivers/infiniband/hw/mlx5/qp.c | 71 +-
drivers/infiniband/hw/mlx5/qp.h | 1 +
drivers/infiniband/hw/mlx5/restrack.c | 121 +-
drivers/infiniband/hw/mlx5/restrack.h | 13 +
drivers/infiniband/hw/mlx5/srq.c | 4 +-
drivers/infiniband/hw/mlx5/std_types.c | 45 +
drivers/infiniband/hw/mlx5/wr.c | 68 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 2 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.h | 2 +-
drivers/infiniband/hw/qedr/main.c | 3 +-
drivers/infiniband/hw/qedr/qedr.h | 5 +-
drivers/infiniband/hw/qedr/verbs.c | 45 +-
drivers/infiniband/hw/qedr/verbs.h | 2 +-
drivers/infiniband/hw/usnic/usnic_fwd.c | 4 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c | 2 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 2 +-
drivers/infiniband/sw/rdmavt/ah.c | 3 +-
drivers/infiniband/sw/rdmavt/mr.c | 2 +-
drivers/infiniband/sw/rdmavt/mr.h | 2 +-
drivers/infiniband/sw/rxe/rxe.c | 41 +-
drivers/infiniband/sw/rxe/rxe_loc.h | 8 +-
drivers/infiniband/sw/rxe/rxe_mr.c | 50 +-
drivers/infiniband/sw/rxe/rxe_net.c | 5 -
drivers/infiniband/sw/rxe/rxe_param.h | 4 +-
drivers/infiniband/sw/rxe/rxe_recv.c | 35 +-
drivers/infiniband/sw/rxe/rxe_req.c | 5 +-
drivers/infiniband/sw/rxe/rxe_verbs.c | 48 +-
drivers/infiniband/sw/rxe/rxe_verbs.h | 1 -
drivers/infiniband/sw/siw/siw_main.c | 1 -
drivers/infiniband/sw/siw/siw_verbs.c | 11 +-
drivers/infiniband/sw/siw/siw_verbs.h | 3 +-
drivers/infiniband/ulp/ipoib/ipoib.h | 4 +-
drivers/infiniband/ulp/ipoib/ipoib_ib.c | 67 +-
drivers/infiniband/ulp/ipoib/ipoib_main.c | 13 +-
drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 4 +-
drivers/infiniband/ulp/iser/iscsi_iser.h | 25 +-
drivers/infiniband/ulp/iser/iser_verbs.c | 112 +-
drivers/infiniband/ulp/isert/ib_isert.c | 175 +-
drivers/infiniband/ulp/isert/ib_isert.h | 21 +-
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.h | 23 +
drivers/infiniband/ulp/rtrs/rtrs-clt.c | 16 +-
drivers/infiniband/ulp/rtrs/rtrs-srv.c | 2 +-
drivers/infiniband/ulp/srpt/ib_srpt.c | 20 +-
drivers/infiniband/ulp/srpt/ib_srpt.h | 1 +
drivers/net/ethernet/mellanox/mlx5/core/alloc.c | 11 +-
drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 1 +
.../net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c | 7 +
drivers/net/ethernet/mellanox/mlx5/core/main.c | 3 +
include/linux/mlx5/device.h | 9 +-
include/linux/mlx5/driver.h | 2 +
include/linux/mlx5/mlx5_ifc.h | 129 +-
include/rdma/ib.h | 31 +-
include/rdma/ib_addr.h | 31 +-
include/rdma/ib_cache.h | 29 +-
include/rdma/ib_cm.h | 1 +
include/rdma/ib_hdrs.h | 44 +-
include/rdma/ib_mad.h | 31 +-
include/rdma/ib_marshall.h | 31 +-
include/rdma/ib_pack.h | 29 +-
include/rdma/ib_pma.h | 31 +-
include/rdma/ib_sa.h | 29 +-
include/rdma/ib_smi.h | 31 +-
include/rdma/ib_umem.h | 29 +-
include/rdma/ib_umem_odp.h | 29 +-
include/rdma/ib_verbs.h | 100 +-
include/rdma/iw_cm.h | 30 +-
include/rdma/iw_portmap.h | 30 +-
include/rdma/opa_addr.h | 44 +-
include/rdma/opa_port_info.h | 31 +-
include/rdma/opa_smi.h | 31 +-
include/rdma/opa_vnic.h | 49 +-
include/rdma/rdma_cm.h | 31 +-
include/rdma/rdma_cm_ib.h | 31 +-
include/rdma/rdma_netlink.h | 2 +-
include/rdma/rdma_vt.h | 50 +-
include/rdma/rdmavt_cq.h | 53 +-
include/rdma/rdmavt_mr.h | 50 +-
include/rdma/rdmavt_qp.h | 50 +-
include/rdma/uverbs_ioctl.h | 30 +-
include/rdma/uverbs_named_ioctl.h | 29 +-
include/rdma/uverbs_std_types.h | 43 +-
include/rdma/uverbs_types.h | 29 +-
include/uapi/rdma/efa-abi.h | 15 +-
include/uapi/rdma/ib_user_ioctl_cmds.h | 15 +
include/uapi/rdma/mlx5_user_ioctl_cmds.h | 16 +-
include/uapi/rdma/qedr-abi.h | 10 +-
include/uapi/rdma/rdma_netlink.h | 9 +
include/uapi/rdma/rdma_user_ioctl.h | 2 +-
166 files changed, 6945 insertions(+), 7569 deletions(-)
(diffstat from tag for-linus-merged)
Attachment:
signature.asc
Description: PGP signature