Skip to contentSkip to conversation

Please pull RDMA subsystem changes

GIT PULL Merged Jason Gunthorpe 2 participants 2 messages Jan 31, 2020 InfiniBand

lore
Share & tools
lore
#0 lore raw

Hi Linus,

These are the proposed RDMA patches for 5.6.

A very quiet cycle with few notable changes. Mostly the usual list of one or two patches to drivers changing something that isn't quite rc worthy. The subsystem seems to be seeing a larger number of rework and cleanup style patches right now, I feel that several vendors are prepping their drivers for new silicon.

Thanks,
Jason

The following changes since commit b2dfc6765e45a3154800333234e4952b5412d792:

net/rds: Use prefetch for On-Demand-Paging MR (2020-01-18 11:48:19 +0200)

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 8889f6fa35884d09f24734e10fea0c9ddcbc6429:

RDMA/core: Make the entire API tree static (2020-01-30 16:28:52 -0400)

----------------------------------------------------------------
RDMA subsystem updates for 5.6

- Driver updates and cleanup for qedr, bnxt_re, hns, siw, mlx5, mlx4, rxe, i40iw

- Larger series doing cleanup and rework for hns and hfi1.

- Some general reworking of the CM code to make it a little more understandable

- Unify the different code paths connected to the uverbs FD scheme

- New UAPI ioctls conversions for get context and get async fd

- Trace points for CQ and CM portions of the RDMA stack

- mlx5 driver support for virtio-net formatted rings as RDMA raw ethernet QPs

- verbs support for setting the PCI-E relaxed ordering bit on DMA traffic connected to a MR

- A couple of bug fixes that came too late to make rc7

----------------------------------------------------------------
Aditya Pakki (1):
RDMA/srpt: Remove unnecessary assertion in srpt_queue_response

Arnd Bergmann (1):
IB/core: Fix build failure without hugepages

Artemy Kovalyov (2):
IB/mlx5: Unify ODP MR code paths to allow extra flexibility RDMA/umem: Fix ib_umem_find_best_pgsz()

Avihai Horon (1):
IB/mlx5: Expose RoCE accelerator counters

Bernard Metzler (1):
RDMA/siw: Simplify QP representation

Chuck Lever (3):
RDMA/cma: Add trace points in RDMA Connection Manager RDMA/core: Trace points for diagnosing completion queue issues RDMA/core: Add trace points to follow MR allocation

Danit Goldberg (2):
RDMA/cm: Use RCU synchronization mechanism to protect cm_id_private xa_load() IB/mlx5: Return the administrative GUID if exists

Dillon Brock (1):
IB/opa_vnic: Spelling correction of 'erorr' to 'error'

Eugene Crosser (1):
RDMA/mlx4: Redo TX checksum offload in line with docs

Gal Pressman (4):
RDMA/efa: Device definitions documentation updates
RDMA/efa: Remove {} brackets from single statement if
RDMA/efa: Remove unused ucontext parameter from efa_qp_user_mmap_entries_remove RDMA/efa: Mask access flags with the correct optional range

Grzegorz Andrejczuk (3):
IB/hfi1: Move common receive IRQ code to function IB/hfi1: Decouple IRQ name from type IB/hfi1: Return void in packet receiving functions

Guoqing Jiang (1):
RDMA/core: Remove err in iw_query_port

Håkon Bugge (2):
RDMA/netlink: Do not always generate an ACK for some netlink operations IB/mlx4: Fix leak in id_map_find_del

Jack Morgenstein (1):
IB/mlx4: Fix memory leak in add_gid error flow

Jason Gunthorpe (29):
RDMA/core: Fix locking in ib_uverbs_event_read
Merge branch 'mlx5_vdpa' into rdma.git for-next RDMA/uverbs: Remove needs_kfree_rcu from uverbs_obj_type_class RDMA/mlx5: Use RCU and direct refcounts to keep memory alive RDMA/core: Simplify destruction of FD uobjects
RDMA/mlx5: Simplify devx async commands
RDMA/core: Do not allow alloc_commit to fail
RDMA/core: Make ib_ucq_object use ib_uevent_object RDMA/core: Do not erase the type of ib_cq.uobject RDMA/core: Do not erase the type of ib_qp.uobject RDMA/core: Do not erase the type of ib_srq.uobject RDMA/core: Do not erase the type of ib_wq.uobject RDMA/core: Simplify type usage for ib_uverbs_async_handler() RDMA/core: Remove the ufile arg from rdma_alloc_begin_uobject RDMA/core: Make ib_uverbs_async_event_file into a uobject RDMA/core: Use READ_ONCE for ib_ufile.async_file
Merge branch 'mlx5-next' into rdma.git for-next
RDMA/core: Add UVERBS_METHOD_ASYNC_EVENT_ALLOC
RDMA/core: Remove ucontext_lock from the uverbs_destry_ufile_hw() path RDMA/uverbs: Add ioctl command to get a device context Merge tag 'rds-odp-for-5.5' into rdma.git for-next RDMA/core: Ensure that rdma_user_mmap_entry_remove() is a fence RDMA/cm: Add accessors for CM_REQ transport_type
RDMA/cm: Use IBA functions for simple get/set acessors RDMA/cm: Use IBA functions for swapping get/set acessors RDMA/cm: Use IBA functions for simple structure members RDMA/cm: Use IBA functions for complex structure members RDMA/cm: Remove CM message structs
RDMA/core: Make the entire API tree static

Jiaran Zhang (1):
RDMA/hns: Add support for extended atomic in userspace

Jiewei Ke (1):
RDMA/rxe: Fix error type of mmap_offset

Leon Romanovsky (4):
RDMA/cm: Delete unused CM LAP functions
RDMA/cm: Delete unused CM ARP functions
net/mlx5: Add RoCE accelerator counters
RDMA/cm: Add SET/GET implementations to hide IBA wire format

Lijun Ou (7):
RDMA/hns: Remove unused function hns_roce_init_eq_table() RDMA/hns: Update the value of qp type
RDMA/hns: Delete unnessary parameters in hns_roce_v2_qp_modify() RDMA/hns: Fix coding style issues
RDMA/hns: Bugfix for posting a wqe with sge
RDMA/hns: Add interfaces to get pf capabilities from firmware RDMA/hns: Get pf capabilities from firmware

Michael Guralnik (7):
net/mlx5: Expose relaxed ordering bits
RDMA/uverbs: Verify MR access flags
RDMA/core: Add optional access flags range
RDMA/efa: Allow passing of optional access flags for MR registration RDMA/uverbs: Add new relaxed ordering memory region access flag RDMA/core: Add the core support field to METHOD_GET_CONTEXT RDMA/mlx5: Set relaxed ordering when requested

Michael J. Ruhl (1):
IB/hfi1: List all receive contexts from debugfs

Michal Kalderon (1):
RDMA/qedr: Add kernel capability flags for dpm enabled mode

Mike Marciniszyn (8):
IB/hfi1: Add accessor API routines to access context members IB/rdmavt: Correct comments in rdmavt_qp.h header IB/hfi1: Move chip specific functions to chip.c IB/hfi1: Add fast and slow handlers for receive context IB/hfi1: IB/hfi1: Add an API to handle special case drop IB/hfi1: Create API for auto activate
IB/hfi1: Add software counter for ctxt0 seq drop IB/hfi1: Add RcvShortLengthErrCnt to hfi1stats

Nathan Chancellor (1):
IB/hfi1: Fix logical condition in msix_request_irq

Parav Pandit (5):
IB/mlx5: Do reverse sequence during device removal IB/core: Let IB core distribute cache update events IB/core: Cut down single member ib_cache structure IB/core: Rename event_handler_lock to qp_open_list_lock RDMA/cma: Fix unbalanced cm_id reference count during address resolve

Prabhath Sajeepa (1):
IB/mlx5: Fix outstanding_pi index for GSI qps

Rao Shoaib (2):
Introduce maximum WQE size to check limits
RDMA/rxe: Compute the maximum sges and inline size based on the WQE size

Selvin Xavier (1):
RDMA/bnxt_re: Report more number of completion vectors

Sergey Gorenko (1):
IB/srp: Never use immediate data if it is disabled by a user

Weihang Li (1):
RDMA/hns: Remove some redundant variables related to capabilities

Wenpeng Liang (2):
RDMA/hns: Avoid printing address of mtt page RDMA/hns: Replace custom macros HNS_ROCE_ALIGN_UP

Xi Wang (1):
RDMA/hns: Add support for reporting wc as software mode

Xiyu Yang (1):
RDMA/i40iw: fix a potential NULL pointer dereference

Yishai Hadas (5):
IB/core: Fix ODP get user pages flow
IB/core: Fix ODP with IB_ACCESS_HUGETLB handling IB/mlx5: Extend caps stage to handle VAR capabilities IB/mlx5: Introduce VAR object and its alloc/destroy methods IB/mlx5: Add mmap support for VAR

Yixian Liu (1):
RDMA/hns: Simplify the calculation and usage of wqe idx for post verbs

Yixing Liu (1):
RDMA/hns: Remove redundant print information

zhengbin (5):
RDMA/siw: use true,false for bool variable
IB/hfi1: use true,false for bool variable
IB/iser: use true,false for bool variable
RDMA/mlx4: use true,false for bool variable
RDMA/mlx5: use true,false for bool variable

 drivers/infiniband/core/Makefile                   |    9 +-
 drivers/infiniband/core/addr.c                     |    2 +-
 drivers/infiniband/core/cache.c                    |  151 +--
 drivers/infiniband/core/cm.c                       | 1000 ++++++++++----------
 drivers/infiniband/core/cm_msgs.h                  |  755 +--------------
 drivers/infiniband/core/cma.c                      |   90 +-
 drivers/infiniband/core/cma_trace.c                |   16 +
 drivers/infiniband/core/cma_trace.h                |  391 ++++++++
 drivers/infiniband/core/core_priv.h                |    3 +-
 drivers/infiniband/core/cq.c                       |   27 +-
 drivers/infiniband/core/device.c                   |   42 +-
 drivers/infiniband/core/ib_core_uverbs.c           |    2 +
 drivers/infiniband/core/nldev.c                    |    3 +-
 drivers/infiniband/core/rdma_core.c                |  235 ++---
 drivers/infiniband/core/rdma_core.h                |   45 +-
 drivers/infiniband/core/sa_query.c                 |    4 +-
 drivers/infiniband/core/trace.c                    |   14 +
 drivers/infiniband/core/umem.c                     |    9 +-
 drivers/infiniband/core/umem_odp.c                 |   22 +-
 drivers/infiniband/core/uverbs.h                   |   48 +-
 drivers/infiniband/core/uverbs_cmd.c               |  320 ++++---
 drivers/infiniband/core/uverbs_ioctl.c             |   45 +-
 drivers/infiniband/core/uverbs_main.c              |  301 ++----
 drivers/infiniband/core/uverbs_std_types.c         |   44 +-
 .../infiniband/core/uverbs_std_types_async_fd.c    |   52 +
 drivers/infiniband/core/uverbs_std_types_cq.c      |   19 +-
 drivers/infiniband/core/uverbs_std_types_device.c  |   38 +
 drivers/infiniband/core/uverbs_uapi.c              |    7 +-
 drivers/infiniband/core/verbs.c                    |   55 +-
 drivers/infiniband/hw/bnxt_re/main.c               |    2 +-
 drivers/infiniband/hw/efa/efa_admin_cmds_defs.h    |   37 +-
 drivers/infiniband/hw/efa/efa_verbs.c              |   15 +-
 drivers/infiniband/hw/hfi1/chip.c                  |  198 +++-
 drivers/infiniband/hw/hfi1/chip.h                  |    8 +
 drivers/infiniband/hw/hfi1/chip_registers.h        |    1 +
 drivers/infiniband/hw/hfi1/common.h                |    3 +
 drivers/infiniband/hw/hfi1/debugfs.c               |    2 +-
 drivers/infiniband/hw/hfi1/driver.c                |  237 ++---
 drivers/infiniband/hw/hfi1/file_ops.c              |   12 +-
 drivers/infiniband/hw/hfi1/hfi.h                   |  195 +++-
 drivers/infiniband/hw/hfi1/init.c                  |   87 +-
 drivers/infiniband/hw/hfi1/msix.c                  |  106 ++-
 drivers/infiniband/hw/hfi1/msix.h                  |    1 +
 drivers/infiniband/hw/hfi1/rc.c                    |    2 +-
 drivers/infiniband/hw/hfi1/trace_ctxts.h           |    2 +-
 drivers/infiniband/hw/hfi1/trace_rx.h              |   15 +-
 drivers/infiniband/hw/hfi1/vnic_main.c             |    2 +-
 drivers/infiniband/hw/hns/hns_roce_cq.c            |    2 +
 drivers/infiniband/hw/hns/hns_roce_device.h        |   44 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v1.c         |   51 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c         |  874 +++++++++++------
 drivers/infiniband/hw/hns/hns_roce_hw_v2.h         |  159 +++-
 drivers/infiniband/hw/hns/hns_roce_main.c          |  106 ++-
 drivers/infiniband/hw/hns/hns_roce_mr.c            |    4 +-
 drivers/infiniband/hw/hns/hns_roce_qp.c            |   92 +-
 drivers/infiniband/hw/i40iw/i40iw_main.c           |    2 +
 drivers/infiniband/hw/mlx4/cm.c                    |   29 +-
 drivers/infiniband/hw/mlx4/cq.c                    |   18 +-
 drivers/infiniband/hw/mlx4/main.c                  |   20 +-
 drivers/infiniband/hw/mlx4/qp.c                    |    4 +-
 drivers/infiniband/hw/mlx5/devx.c                  |  159 ++--
 drivers/infiniband/hw/mlx5/gsi.c                   |    3 +-
 drivers/infiniband/hw/mlx5/ib_virt.c               |   28 +-
 drivers/infiniband/hw/mlx5/main.c                  |  224 ++++-
 drivers/infiniband/hw/mlx5/mem.c                   |   25 -
 drivers/infiniband/hw/mlx5/mlx5_ib.h               |   38 +-
 drivers/infiniband/hw/mlx5/mr.c                    |   81 +-
 drivers/infiniband/hw/mlx5/odp.c                   |   44 +-
 drivers/infiniband/hw/mlx5/qp.c                    |    4 +-
 drivers/infiniband/hw/qedr/verbs.c                 |   13 +-
 drivers/infiniband/sw/rdmavt/rc.c                  |    9 +-
 drivers/infiniband/sw/rxe/rxe_param.h              |    7 +-
 drivers/infiniband/sw/rxe/rxe_qp.c                 |   18 +-
 drivers/infiniband/sw/rxe/rxe_verbs.h              |    2 +-
 drivers/infiniband/sw/siw/siw.h                    |   26 +-
 drivers/infiniband/sw/siw/siw_cm.c                 |    2 +-
 drivers/infiniband/sw/siw/siw_cq.c                 |    2 +-
 drivers/infiniband/sw/siw/siw_main.c               |    2 +-
 drivers/infiniband/sw/siw/siw_qp.c                 |   13 +-
 drivers/infiniband/sw/siw/siw_qp_rx.c              |    6 +-
 drivers/infiniband/sw/siw/siw_qp_tx.c              |    2 +-
 drivers/infiniband/sw/siw/siw_verbs.c              |   61 +-
 drivers/infiniband/ulp/iser/iser_memory.c          |    2 +-
 drivers/infiniband/ulp/iser/iser_verbs.c           |    2 +-
 drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.h   |    2 +-
 drivers/infiniband/ulp/srp/ib_srp.c                |    3 +-
 drivers/infiniband/ulp/srpt/ib_srpt.c              |    2 -
 include/linux/mlx4/cq.h                            |    5 +
 include/linux/mlx5/driver.h                        |    5 +
 include/linux/mlx5/mlx5_ifc.h                      |   24 +-
 include/rdma/ib_cm.h                               |   34 -
 include/rdma/ib_verbs.h                            |   42 +-
 include/rdma/iba.h                                 |  146 +++
 include/rdma/ibta_vol1_c12.h                       |  213 +++++
 include/rdma/rdmavt_qp.h                           |   22 +-
 include/rdma/uverbs_named_ioctl.h                  |    6 +-
 include/rdma/uverbs_std_types.h                    |   13 +-
 include/rdma/uverbs_types.h                        |   34 +-
 include/trace/events/rdma_core.h                   |  394 ++++++++
 include/uapi/rdma/ib_user_ioctl_cmds.h             |   15 +
 include/uapi/rdma/ib_user_ioctl_verbs.h            |   12 +
 include/uapi/rdma/mlx5_user_ioctl_cmds.h           |   17 +
 include/uapi/rdma/qedr-abi.h                       |   18 +-
 103 files changed, 4659 insertions(+), 3200 deletions(-)

(diffstat from tag for-linus-merged)