[GIT PULL] Please pull RDMA subsystem changes

From: Jason Gunthorpe
Date: Thu Sep 19 2019 - 12:34:59 EST


Hi Linus,

These are the proposed RDMA patches for 5.4

This cycle has proved to be quiet with a focus on bug fix and cleanup style
patches, and less on major new functionality. I am aware of no conflicts.

The following changes since commit f74c2bb98776e2de508f4d607cd519873065118e:

Linux 5.3-rc8 (2019-09-08 13:33:15 -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 3eca7fc2d8d1275d9cf0c709f0937becbfcf6d96:

RDMA: Fix double-free in srq creation error flow (2019-09-16 14:37:38 -0300)

----------------------------------------------------------------
RDMA subsystem updates for 5.4

This cycle mainly saw lots of bug fixes and clean up code across the core
code and several drivers, few new functional changes were made.

- Many cleanup and bug fixes for hns

- Various small bug fixes and cleanups in hfi1, mlx5, usnic, qed,
bnxt_re, efa

- Share the query_port code between all the iWarp drivers

- General rework and cleanup of the ODP MR umem code to fit better with
the mmu notifier get/put scheme

- Support rdma netlink in non init_net name spaces

- mlx5 support for XRC devx and DC ODP

----------------------------------------------------------------
Andrey Konovalov (1):
RDMA/mlx4: Untag user pointers in mlx4_get_umem_mr

Arnd Bergmann (1):
RDMA/usnic: Avoid overly large buffers on stack

Bernard Metzler (2):
RDMA/siw: Fix page address mapping in TX path
RDMA/siw: Relax from kmap_atomic() use in TX path

Chuck Lever (1):
rdma: Enable ib_alloc_cq to spread work over a device's comp_vectors

Chuhong Yuan (1):
IB/usnic: Use dev_get_drvdata

Colin Ian King (3):
RDMA/hns: Fix comparison of unsigned long variable 'end' with less than zero
RDMA/core: fix spelling mistake "Nelink" -> "Netlink"
RDMA/bnxt_re: Fix spelling mistake "missin_resp" -> "missing_resp"

Dan Carpenter (1):
RDMA/hns: Fix some white space check_mtu_validate()

Danit Goldberg (2):
IB/mlx5: Use the original address for the page during free_pages
IB/mlx5: Free mpi in mp_slave mode

Doug Ledford (3):
Merge branch 'wip/dl-for-rc' into wip/dl-for-next
Merge remote-tracking branch 'mlx5-next/mlx5-next' into wip/dl-for-next
Merge remote-tracking branch 'mlx5-next/mlx5-next' into for-next

Gal Pressman (6):
RDMA/efa: Expose device statistics
RDMA/core: Introduce ratelimited ibdev printk functions
RDMA/efa: Rate limit admin queue error prints
RDMA/efa: Remove umem check on dereg MR flow
RDMA/efa: Use existing FIELD_SIZEOF macro
RDMA/efa: Fix incorrect error print

Guoqing Jiang (1):
Documentation/infiniband: update name of some functions

Hariprasad Kelam (2):
RDMA/qib: Unneeded variable ret
RDMA/qedr: Remove Unneeded variable rc

HÃkon Bugge (1):
RDMA/cma: Fix false error message

Ira Weiny (1):
IB/hfi1: Define variables as unsigned long to fix KASAN warning

Jack Morgenstein (1):
RDMA: Fix double-free in srq creation error flow

Jason Gunthorpe (16):
RDMA: Make most headers compile stand alone
RDMA/odp: Use the common interval tree library instead of generic
RDMA/odp: Iterate over the whole rbtree directly
RDMA/odp: Make it clearer when a umem is an implicit ODP umem
RMDA/odp: Consolidate umem_odp initialization
RDMA/odp: Make the three ways to create a umem_odp clear
RDMA/odp: Split creating a umem_odp from ib_umem_get
RDMA/odp: Provide ib_umem_odp_release() to undo the allocs
RDMA/odp: Check for overflow when computing the umem_odp end
RDMA/odp: Use kvcalloc for the dma_list and page_list
RDMA/mlx5: Use ib_umem_start instead of umem.address
RDMA/mlx5: Use odp instead of mr->umem in pagefault_mr
Merge branch 'odp_fixes' into rdma.git for-next
Merge branch 'mlx5-odp-dc' into rdma.git for-next
RDMA/odp: Add missing cast for 32 bit
Merge tag 'v5.3-rc8' into rdma.git for-next

Joe Perches (1):
mlx5: Fix formats with line continuation whitespace

Kaike Wan (3):
IB/hfi1: Do not update hcrc for a KDETH packet during fault injection
IB/hfi1: Add traces for TID RDMA READ
IB/{rdmavt, hfi1, qib}: Add a counter for credit waits

Kamal Heib (4):
RDMA: Introduce ib_port_phys_state enum
RDMA/cxgb3: Use ib_device_set_netdev()
RDMA/core: Add common iWARP query port
RDMA/{cxgb3, cxgb4, i40iw}: Remove common code

Lang Cheng (10):
RDMA/hns: Clean up unnecessary initial assignment
RDMA/hns: Update some comments style
RDMA/hns: Handling the error return value of hem function
RDMA/hns: Split bool statement and assign statement
RDMA/hns: Refactor irq request code
RDMA/hns: Remove unnecessary kzalloc
RDMA/hns: Remove unuseful member
RDMA/hns: Modify the data structure of hns_roce_av
RDMA/hns: Fix cast from or to restricted __le32 for driver
RDMA/hns: Add reset process for function-clear

Leon Romanovsky (6):
RDMA/mlx4: Separate creation of RWQ and QP
RDMA/mlx4: Annotate boolean arguments as bool and not int
RDMA/mlx5: Remove DEBUG ODP code
RDMA/hns: Remove not used UAR assignment
RDMA/mlx5: Annotate lock dependency in bind/unbind slave port
RDMA: Delete DEBUG code

Lijun Ou (13):
RDMA/hns: Package the flow of creating cq
RDMA/hns: Refactor the code of creating srq
RDMA/hns: Refactor for hns_roce_v2_modify_qp function
RDMA/hns: Use a separated function for setting extend sge paramters
RDMA/hns: Package for hns_roce_rereg_user_mr function
RDMA/hns: Refactor hem table mhop check and calculation
RDMA/hns: Encapsulate some lines for setting sq size in user mode
RDMA/hns: Optimize hns_roce_modify_qp function
RDMA/hns: Use the new APIs for printing log
RDMA/hns: Bugfix for creating qp attached to srq
RDMA/hns: Remove the some magic number
RDMA/hns: Fix wrong assignment of qp_access_flags
RDMA/hns: Package operations of rq inline buffer into separate functions

Mark Zhang (1):
RDMA/mlx5: RDMA_RX flow type support for user applications

Markus Elfring (1):
RDMA/iwpm: Delete unnecessary checks before the macro call "dev_kfree_skb"

Max Gurtovoy (1):
IB/mlx5: Add CREATE_PSV/DESTROY_PSV for devx interface

Michael Guralnik (2):
IB/mlx5: Remove check of FW capabilities in ODP page fault handling
IB/mlx5: Add page fault handler for DC initiator WQE

Michal Kalderon (1):
qed*: Change dpi_addr to be denoted with __iomem

Mike Marciniszyn (1):
IB/hfi1: Remove unused define

Moni Shoua (1):
RDMA/core: Make invalidate_range a device operation

Navid Emamdoost (1):
RDMA: Fix goto target to release the allocated memory

Parav Pandit (6):
RDMA/core: Annotate destroy of mutex to ensure that it is released as unlocked
IB/mlx5: Avoid unnecessary typecast
RDMA/core: Support netlink commands in non init_net net namespaces
IB/mlx5: Refactor code for counters allocation
IB/mlx5: Support per device q counters in switchdev mode
IB/bnxt_re: Do not notifify GID change event

Sergey Gorenko (1):
IB/iser: Support up to 16MB data transfer in a single command

Stephen Boyd (1):
infiniband: Remove dev_err() usage after platform_get_irq()

Weihang Li (3):
RDMA/hns: Remove redundant print in hns_roce_v2_ceq_int()
RDMA/hns: Disable alw_lcl_lpbk of SSU
RDMA/hns: Logic optimization of wc_flags

Wenpeng Liang (2):
RDMA/hns: Remove if-else judgment statements for creating srq
RDMA/hns: Delete the not-used lines

Xi Wang (3):
RDMA/hns: optimize the duplicated code for qpc setting flow
RDMA/hns: Bugfix for slab-out-of-bounds when unloading hip08 driver
RDMA/hns: bugfix for slab-out-of-bounds when loading hip08 driver

Yangyang Li (2):
RDMA/hns: Refactor hns_roce_v2_set_hem for hip08
RDMA/hns: Modify pi vlaue when cq overflows

Yishai Hadas (2):
IB/mlx5: Add legacy events to DEVX list
IB/mlx5: Expose XRQ legacy commands over the DEVX interface

Yixian Liu (4):
RDMA/hns: Refactor eq table init for hip08
RDMA/hns: Update the prompt message for creating and destroy qp
RDMA/hns: Remove unnessary init for cmq reg
RDMA/hns: Optimize cmd init and mode selection for hip08

YueHaibing (3):
RDMA/hns: remove set but not used variable 'irq_num'
RDMA/hns: remove obsolete Kconfig comment
RDMA/hns: Use devm_platform_ioremap_resource() to simplify code

chenglang (1):
RDMA/hns: Optimize hns_roce_mhop_alloc function.

Documentation/infiniband/core_locking.rst | 8 +-
drivers/infiniband/Kconfig | 1 +
drivers/infiniband/core/addr.c | 2 +-
drivers/infiniband/core/cache.c | 1 +
drivers/infiniband/core/cma.c | 2 +-
drivers/infiniband/core/cma_configfs.c | 8 +-
drivers/infiniband/core/core_priv.h | 24 +-
drivers/infiniband/core/counters.c | 8 +-
drivers/infiniband/core/cq.c | 28 +
drivers/infiniband/core/device.c | 129 +++-
drivers/infiniband/core/fmr_pool.c | 13 -
drivers/infiniband/core/iwpm_msg.c | 17 +-
drivers/infiniband/core/iwpm_util.c | 15 +-
drivers/infiniband/core/netlink.c | 63 +-
drivers/infiniband/core/nldev.c | 20 +-
drivers/infiniband/core/sa_query.c | 2 +-
drivers/infiniband/core/sysfs.c | 30 +-
drivers/infiniband/core/umem.c | 50 +-
drivers/infiniband/core/umem_odp.c | 437 ++++++-----
drivers/infiniband/core/user_mad.c | 2 +-
drivers/infiniband/core/uverbs_cmd.c | 5 +-
drivers/infiniband/core/uverbs_main.c | 4 +
drivers/infiniband/core/verbs.c | 1 +
drivers/infiniband/hw/bnxt_re/hw_counters.c | 2 +-
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 6 +-
drivers/infiniband/hw/bnxt_re/main.c | 1 -
drivers/infiniband/hw/cxgb3/iwch_provider.c | 45 +-
drivers/infiniband/hw/cxgb4/provider.c | 24 -
drivers/infiniband/hw/efa/efa.h | 3 +
drivers/infiniband/hw/efa/efa_com.c | 70 +-
drivers/infiniband/hw/efa/efa_com_cmd.c | 165 ++--
drivers/infiniband/hw/efa/efa_com_cmd.h | 23 +
drivers/infiniband/hw/efa/efa_main.c | 2 +
drivers/infiniband/hw/efa/efa_verbs.c | 91 ++-
drivers/infiniband/hw/hfi1/chip.c | 2 +
drivers/infiniband/hw/hfi1/chip.h | 1 +
drivers/infiniband/hw/hfi1/mad.c | 45 +-
drivers/infiniband/hw/hfi1/rc.c | 15 +-
drivers/infiniband/hw/hfi1/tid_rdma.c | 8 +
drivers/infiniband/hw/hfi1/trace_tid.h | 38 +
drivers/infiniband/hw/hfi1/user_sdma.h | 6 -
drivers/infiniband/hw/hfi1/verbs.c | 17 +-
drivers/infiniband/hw/hns/Kconfig | 8 -
drivers/infiniband/hw/hns/hns_roce_ah.c | 23 +-
drivers/infiniband/hw/hns/hns_roce_cmd.c | 11 +-
drivers/infiniband/hw/hns/hns_roce_cq.c | 186 +++--
drivers/infiniband/hw/hns/hns_roce_device.h | 95 ++-
drivers/infiniband/hw/hns/hns_roce_hem.c | 252 +++---
drivers/infiniband/hw/hns/hns_roce_hem.h | 6 +-
drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 69 +-
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 1065 +++++++++++++++-----------
drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 7 +-
drivers/infiniband/hw/hns/hns_roce_main.c | 11 +-
drivers/infiniband/hw/hns/hns_roce_mr.c | 434 ++++++-----
drivers/infiniband/hw/hns/hns_roce_qp.c | 359 +++++----
drivers/infiniband/hw/hns/hns_roce_srq.c | 296 +++----
drivers/infiniband/hw/i40iw/i40iw_verbs.c | 11 -
drivers/infiniband/hw/mlx4/main.c | 3 +-
drivers/infiniband/hw/mlx4/mr.c | 7 +-
drivers/infiniband/hw/mlx4/qp.c | 242 ++++--
drivers/infiniband/hw/mlx5/devx.c | 26 +
drivers/infiniband/hw/mlx5/flow.c | 13 +-
drivers/infiniband/hw/mlx5/main.c | 131 ++--
drivers/infiniband/hw/mlx5/mem.c | 13 -
drivers/infiniband/hw/mlx5/mlx5_ib.h | 2 +
drivers/infiniband/hw/mlx5/mr.c | 38 +-
drivers/infiniband/hw/mlx5/odp.c | 172 ++---
drivers/infiniband/hw/mlx5/qp.c | 25 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 4 +-
drivers/infiniband/hw/qedr/main.c | 2 +-
drivers/infiniband/hw/qedr/qedr.h | 2 +-
drivers/infiniband/hw/qedr/verbs.c | 7 +-
drivers/infiniband/hw/qib/qib_file_ops.c | 3 +-
drivers/infiniband/hw/qib/qib_rc.c | 10 +-
drivers/infiniband/hw/qib/qib_sysfs.c | 2 +
drivers/infiniband/hw/usnic/usnic_ib_main.c | 10 +-
drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 9 +-
drivers/infiniband/sw/rxe/rxe.h | 4 -
drivers/infiniband/sw/rxe/rxe_param.h | 2 +-
drivers/infiniband/sw/rxe/rxe_verbs.c | 6 +-
drivers/infiniband/sw/siw/siw_qp_tx.c | 23 +-
drivers/infiniband/sw/siw/siw_verbs.c | 3 +-
drivers/infiniband/ulp/iser/iscsi_iser.h | 7 +-
drivers/infiniband/ulp/srpt/ib_srpt.c | 4 +-
drivers/net/ethernet/mellanox/mlx5/core/rl.c | 6 +-
drivers/net/ethernet/qlogic/qed/qed_rdma.c | 5 +-
fs/cifs/smbdirect.c | 10 +-
include/Kbuild | 6 -
include/linux/mlx5/device.h | 9 +
include/linux/qed/qed_rdma_if.h | 2 +-
include/rdma/ib.h | 2 +
include/rdma/ib_umem_odp.h | 48 +-
include/rdma/ib_verbs.h | 78 +-
include/rdma/iw_portmap.h | 3 +
include/rdma/opa_port_info.h | 2 +
include/rdma/rdma_netlink.h | 10 +-
include/rdma/rdma_vt.h | 1 +
include/rdma/rdmavt_cq.h | 1 +
include/rdma/rdmavt_qp.h | 35 +
include/rdma/signature.h | 2 +
include/uapi/rdma/mlx5_user_ioctl_verbs.h | 1 +
net/9p/trans_rdma.c | 6 +-
net/sunrpc/xprtrdma/svc_rdma_transport.c | 8 +-
net/sunrpc/xprtrdma/verbs.c | 13 +-
104 files changed, 3072 insertions(+), 2213 deletions(-)
(diffstat from tag for-linus-merged)

Attachment: signature.asc
Description: PGP signature