[GIT PULL] Please pull RDMA subsystem changes
From: Jason Gunthorpe
Date: Wed Dec 16 2020 - 12:58:33 EST
Hi Linus,
These are the proposed RDMA patches for 5.12.
The biggest item in this PR would be the new HIP09 HW support from
HNS, otherwise it was pretty quiet for new work here.
Thanks,
Jason
The following changes since commit b65054597872ce3aefbc6a666385eabdf9e288da:
Linux 5.10-rc6 (2020-11-29 15:50:50 -0800)
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 e246b7c035d74abfb3507fa10082d0c42cc016c3:
RDMA/cma: Don't overwrite sgid_attr after device is released (2020-12-14 15:23:06 -0400)
----------------------------------------------------------------
RDMA 5.11 pull request
A smaller set of patches, nothing stands out as being particularly major
this cycle:
- Driver bug fixes and updates: bnxt_re, cxgb4, rxe, hns, i40iw, cxgb4,
mlx4 and mlx5
- Bug fixes and polishing for the new rts ULP
- Cleanup of uverbs checking for allowed driver operations
- Use sysfs_emit all over the place
- Lots of bug fixes and clarity improvements for hns
- hip09 support for hns
- NDR and 50/100Gb signaling rates
- Remove dma_virt_ops and go back to using the IB DMA wrappers
- mlx5 optimizations for contiguous DMA regions
----------------------------------------------------------------
Arnd Bergmann (2):
IB/verbs: avoid nested container_of()
RDMa/mthca: Work around -Wenum-conversion warning
Avihai Horon (3):
RDMA/mlx5: Enable querying AH for XRC QP types
RDMA/mlx4: Enable querying AH for XRC QP types
RDMA/uverbs: Fix incorrect variable type
Bob Pearson (3):
RDMA/rxe: Remove unused RXE_MR_TYPE_FMR
RDMA/rxe: Compute PSN windows correctly
RDMA/rxe: Use acquire/release for memory ordering
Christoph Hellwig (9):
RDMA/umem: Use ib_dma_max_seg_size instead of dma_get_max_seg_size
RDMA/core: Remove ib_dma_{alloc,free}_coherent
RDMA: Lift ibdev_to_node from rds to common code
nvme-rdma: Use ibdev_to_node instead of dereferencing ->dma_device
rds: stop using dmapool
RDMA/core: remove use of dma_virt_ops
PCI/P2PDMA: Remove the DMA_VIRT_OPS hacks
PCI/P2PDMA: Cleanup __pci_p2pdma_map_sg a bit
dma-mapping: remove dma_virt_ops
Christophe JAILLET (1):
IB/qib: Use dma_set_mask_and_coherent to simplify code
Danil Kipnis (1):
RDMA/rtrs-clt: Remove destroy_con_cq_qp in case route resolving failed
Gal Pressman (2):
RDMA/efa: Remove .create_ah callback assignment
RDMA/efa: Use dma_set_mask_and_coherent() to simplify code
Gioh Kim (4):
RDMA/rtrs-clt: Missing error from rtrs_rdma_conn_established
RDMA/rtrs: Remove unnecessary argument dir of rtrs_iu_free
RDMA/rtrs-clt: Remove duplicated switch-case handling for CM error events
RDMA/rtrs-clt: Remove duplicated code
Guoqing Jiang (5):
RDMA/rtrs-srv: Don't guard the whole __alloc_srv with srv_mutex
RDMA/rtrs-srv: Fix typo
RDMA/rtrs-srv: Kill rtrs_srv_change_state_get_old
RDMA/rtrs: Introduce rtrs_post_send
RDMA/rtrs-clt: Remove 'addr' from rtrs_clt_add_path_to_arr
Gustavo A. R. Silva (4):
IB/hfi1: Fix fall-through warnings for Clang
IB/mlx4: Fix fall-through warnings for Clang
IB/qedr: Fix fall-through warnings for Clang
IB/mlx5: Fix fall-through warnings for Clang
Jack Morgenstein (2):
RDMA/core: Clean up cq pool mechanism
RDMA/core: Do not indicate device ready when device enablement fails
Jack Wang (3):
RDMA/rtrs-clt: Remove outdated comment in create_con_cq_qp
RDMA/rtrs-clt: Avoid run destroy_con_cq_qp/create_con_cq_qp in parallel
RDMA/ipoib: Distribute cq completion vector better
Jason Gunthorpe (43):
RDMA/cxgb4: Remove MW support
RDMA: Remove uverbs_ex_cmd_mask values that are linked to functions
RDMA: Remove elements in uverbs_cmd_mask that all drivers set
RDMA: Move more uverbs_cmd_mask settings to the core
RDMA: Check srq_type during create_srq
RDMA: Check attr_mask during modify_qp
RDMA: Check flags during create_cq
RDMA: Check create_flags during create_qp
RDMA/core Remove uverbs_ex_cmd_mask
RDMA: Remove uverbs cmds from drivers that don't use them
RDMA: Remove AH from uverbs_cmd_mask
RDMA/mlx5: Remove mlx5_ib_mr->order
RDMA/mlx5: Fix corruption of reg_pages in mlx5_ib_rereg_user_mr()
RDMA/mlx5: Remove mlx5_ib_mr->npages
RDMA/mlx5: Move mlx5_ib_cont_pages() to the creation of the mlx5_ib_mr
RDMA/mlx5: Remove order from mlx5_ib_cont_pages()
RDMA/mlx5: Remove ncont from mlx5_ib_cont_pages()
RDMA/mlx5: Remove npages from mlx5_ib_cont_pages()
RDMA/mlx5: Change mlx5_ib_populate_pas() to use rdma_for_each_block()
RDMA/mlx5: Move xlt_emergency_page_mutex into mr.c
RDMA/mlx5: Split the WR setup out of mlx5_ib_update_xlt()
RDMA/mlx5: Split mlx5_ib_update_xlt() into ODP and non-ODP cases
RDMA/mlx5: Use ib_umem_find_best_pgsz() for mkc's
RDMA/rxe,siw: Restore uverbs_cmd_mask IB_USER_VERBS_CMD_POST_SEND
RDMA/mlx5: Use ib_umem_find_best_pgoff() for SRQ
RDMA/mlx5: Use mlx5_umem_find_best_quantized_pgoff() for WQ
RDMA/mlx5: Directly compute the PAS list for raw QP RQ's
RDMA/mlx5: Use mlx5_umem_find_best_quantized_pgoff() for QP
RDMA/mlx5: mlx5_umem_find_best_quantized_pgoff() for CQ
RDMA/mlx5: Use ib_umem_find_best_pgsz() for devx
RDMA/mlx5: Lower setting the umem's PAS for SRQ
Merge branch 'for-rc' into rdma.git
RDMA/siw,rxe: Make emulated devices virtual in the device tree
Merge tag 'v5.10-rc5' into rdma.git for-next
RDMA/cma: Fix deadlock on &lock in rdma_cma_listen_on_all() error unwind
RDMA/mlx5: Check for ERR_PTR from uverbs_zalloc()
Merge tag 'v5.10-rc6' into rdma.git for-next
RDMA/uverbs: Tidy input validation of ib_uverbs_rereg_mr()
RDMA/uverbs: Check ODP in ib_check_mr_access() as well
RDMA/uverbs: Allow drivers to create a new HW object during rereg_mr
RDMA/mlx5: Reorganize mlx5_ib_reg_user_mr()
RDMA/mlx5: Fix error unwinds for rereg_mr
Merge tag 'mlx5-next-2020-12-02' of git://git.kernel.org/.../mellanox/linux
Jing Xiangfeng (1):
RDMA/core: Fix error return in _ib_modify_qp()
Joe Perches (4):
RDMA: Convert sysfs device * show functions to use sysfs_emit()
RDMA: Convert sysfs kobject * show functions to use sysfs_emit()
RDMA: Manual changes for sysfs_emit and neatening
RDMA: Convert various random sprintf sysfs _show uses to sysfs_emit
Kamal Heib (2):
RDMA/bnxt_re: Set queue pair state when being queried
RDMA/cxgb4: Validate the number of CQEs
Lang Cheng (6):
RDMA/hns: Support owner mode doorbell
RDMA/hns: Add new PCI device ID matching for HIP09
RDMA/hns: Add support for CQ stash
RDMA/hns: Add support for QP stash
RDMA/hns: Fix 0-length sge calculation error
RDMA/hns: Fix coding style issues
Leon Romanovsky (10):
RDMA/core: Postpone uobject cleanup on failure till FD close
RDMA/core: Make FD destroy callback void
RDMA/counter: Combine allocation and bind logic
RDMA/restrack: Store all special QPs in restrack DB
RDMA/cma: Add missing error handling of listen_id
RDMA/mlx5: Silence the overflow warning while building offset mask
RDMA/core: Track device memory MRs
RDMA/core: Allow drivers to disable restrack DB
RDMA/restrack: Support all QP types
RDMA/cma: Don't overwrite sgid_attr after device is released
Lukas Bulwahn (1):
RDMA/core: Update kernel documentation for ib_create_named_qp()
Maor Gottlieb (3):
tools/testing/scatterlist: Test dynamic __sg_alloc_table_from_pages
RDMA/mlx5: Assign dev to DM MR
RDMA/mlx5: Fix MR cache memory leak
Mauro Carvalho Chehab (1):
IB: Fix kernel-doc markups
Max Gurtovoy (1):
IB/isert: add module param to set sg_tablesize for IO cmd
Meir Lichtinger (3):
RDMA/ipoib: Add 50Gb and 100Gb link speeds to ethtool
IB/core: Add support for NDR link speed
IB/mlx5: Add support for NDR link speed
Parav Pandit (1):
RDMA/mlx5: Use PCI device for dma mappings
Rikard Falkeborn (1):
RDMA/i40iw: Constify ops structs
Sebastian Andrzej Siewior (1):
RDMA/iser: Remove in_interrupt() usage
Selvin Xavier (2):
RDMA/bnxt_re: Fix entry size during SRQ create
RDMA/bnxt_re: Fix max_qp_wrs reported
Shiraz Saleem (1):
RDMA/i40iw: Remove push code from i40iw
Tom Rix (1):
RDMA/mlx5: Remove unneeded semicolon
Vladimir Oltean (1):
RDMA/mlx4: Remove bogus dev_base_lock usage
Weihang Li (14):
RDMA/hns: Add support for configuring GMV table
RDMA/hns: Add support for filling GMV table
RDMA/hns: Fix double free of the pointer to TSQ/TPQ
RDMA/hns: Only record vlan info for HIP08
RDMA/hns: Fix missing fields in address vector
RDMA/hns: Avoid setting loopback indicator when smac is same as dmac
RDMA/hns: Remove the portn field in UD SQ WQE
RDMA/hns: Simplify process of filling UD SQ WQE
RDMA/hns: Add UD support for HIP09
RDMA/hns: Refactor process of setting extended sge
RDMA/hns: Move capability flags of QP and CQ to hns-abi.h
RDMA/hns: Do shift on traffic class when using RoCEv2
RDMA/hns: Avoid filling sl in high 3 bits of vlan_id
RDMA/hns: WARN_ON if get a reserved sl from users
Wenpeng Liang (3):
RDMA/hns: Limit the length of data copied between kernel and userspace
RDMA/hns: Normalization the judgment of some features
RDMA/hns: Fix incorrect symbol types
Xi Wang (1):
RDMA/hns: Refactor the hns_roce_buf allocation flow
Xinhao Liu (1):
RDMA/hns: Clear redundant variable initialization
Yangyang Li (2):
RDMA/hns: Create QP with selected QPN for bank load balance
RDMA/hns: Bugfix for calculation of extended sge
Yejune Deng (1):
RDMA/i40iw: Replace atomic_add_return(1, ..)
Yixian Liu (2):
RDMA/hns: Remove unnecessary access right set during INIT2INIT
RDMA/hns: Simplify AEQE process for different types of queue
Yixing Liu (1):
RDMA/hns: Fix inaccurate prints
Zhang Qilong (1):
RDMA/siw: Fix typo of EAGAIN not -EAGAIN in siw_cm_work_handler()
Zhu Yanjun (2):
RDMA/rxe: Remove VLAN code leftovers from RXE
MAINTAINERS: SOFT-ROCE: Change Zhu Yanjun's email address
Zou Wei (1):
IB/isert: Do not excplicitly check == false for bool
.mailmap | 1 +
MAINTAINERS | 2 +-
drivers/infiniband/core/cm.c | 9 +-
drivers/infiniband/core/cma.c | 195 +++--
drivers/infiniband/core/cma_configfs.c | 4 +-
drivers/infiniband/core/core_priv.h | 28 +-
drivers/infiniband/core/counters.c | 138 ++-
drivers/infiniband/core/cq.c | 16 +-
drivers/infiniband/core/device.c | 92 +-
drivers/infiniband/core/iwpm_util.h | 2 +-
drivers/infiniband/core/rdma_core.c | 101 ++-
drivers/infiniband/core/restrack.c | 23 +-
drivers/infiniband/core/rw.c | 5 +-
drivers/infiniband/core/sa_query.c | 3 +-
drivers/infiniband/core/sysfs.c | 166 ++--
drivers/infiniband/core/ucma.c | 2 +-
drivers/infiniband/core/umem.c | 17 +-
drivers/infiniband/core/user_mad.c | 6 +-
drivers/infiniband/core/uverbs_cmd.c | 149 ++--
drivers/infiniband/core/uverbs_main.c | 4 +-
drivers/infiniband/core/uverbs_std_types.c | 18 +-
.../infiniband/core/uverbs_std_types_async_fd.c | 5 +-
.../infiniband/core/uverbs_std_types_counters.c | 5 +-
drivers/infiniband/core/uverbs_std_types_cq.c | 4 +-
drivers/infiniband/core/uverbs_std_types_device.c | 14 +-
drivers/infiniband/core/uverbs_std_types_dm.c | 6 +-
.../infiniband/core/uverbs_std_types_flow_action.c | 6 +-
drivers/infiniband/core/uverbs_std_types_mr.c | 6 +-
drivers/infiniband/core/uverbs_std_types_qp.c | 8 +-
drivers/infiniband/core/uverbs_std_types_srq.c | 4 +-
drivers/infiniband/core/uverbs_std_types_wq.c | 4 +-
drivers/infiniband/core/uverbs_uapi.c | 5 +-
drivers/infiniband/core/verbs.c | 27 +-
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 15 +-
drivers/infiniband/hw/bnxt_re/main.c | 34 +-
drivers/infiniband/hw/bnxt_re/qplib_sp.c | 2 +-
drivers/infiniband/hw/cxgb4/cq.c | 3 +
drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 2 -
drivers/infiniband/hw/cxgb4/mem.c | 84 --
drivers/infiniband/hw/cxgb4/provider.c | 35 +-
drivers/infiniband/hw/cxgb4/qp.c | 8 +-
drivers/infiniband/hw/efa/efa_main.c | 34 +-
drivers/infiniband/hw/efa/efa_verbs.c | 6 +
drivers/infiniband/hw/hfi1/qp.c | 1 +
drivers/infiniband/hw/hfi1/sysfs.c | 62 +-
drivers/infiniband/hw/hfi1/tid_rdma.c | 5 +
drivers/infiniband/hw/hns/hns_roce_ah.c | 55 +-
drivers/infiniband/hw/hns/hns_roce_alloc.c | 132 +--
drivers/infiniband/hw/hns/hns_roce_cmd.c | 37 +-
drivers/infiniband/hw/hns/hns_roce_cmd.h | 6 +-
drivers/infiniband/hw/hns/hns_roce_common.h | 26 +-
drivers/infiniband/hw/hns/hns_roce_cq.c | 46 +-
drivers/infiniband/hw/hns/hns_roce_db.c | 8 +-
drivers/infiniband/hw/hns/hns_roce_device.h | 178 ++--
drivers/infiniband/hw/hns/hns_roce_hem.c | 59 +-
drivers/infiniband/hw/hns/hns_roce_hem.h | 3 +-
drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 50 +-
drivers/infiniband/hw/hns/hns_roce_hw_v1.h | 2 +-
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 554 ++++++------
drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 265 +++---
drivers/infiniband/hw/hns/hns_roce_main.c | 82 +-
drivers/infiniband/hw/hns/hns_roce_mr.c | 79 +-
drivers/infiniband/hw/hns/hns_roce_pd.c | 14 +-
drivers/infiniband/hw/hns/hns_roce_qp.c | 300 ++++---
drivers/infiniband/hw/hns/hns_roce_srq.c | 53 +-
drivers/infiniband/hw/i40iw/i40iw.h | 1 -
drivers/infiniband/hw/i40iw/i40iw_cm.c | 6 +-
drivers/infiniband/hw/i40iw/i40iw_ctrl.c | 72 +-
drivers/infiniband/hw/i40iw/i40iw_d.h | 35 +-
drivers/infiniband/hw/i40iw/i40iw_status.h | 1 -
drivers/infiniband/hw/i40iw/i40iw_type.h | 38 +-
drivers/infiniband/hw/i40iw/i40iw_uk.c | 41 +-
drivers/infiniband/hw/i40iw/i40iw_user.h | 8 -
drivers/infiniband/hw/i40iw/i40iw_verbs.c | 121 +--
drivers/infiniband/hw/mlx4/mad.c | 1 +
drivers/infiniband/hw/mlx4/main.c | 64 +-
drivers/infiniband/hw/mlx4/mcg.c | 82 +-
drivers/infiniband/hw/mlx4/mlx4_ib.h | 8 +-
drivers/infiniband/hw/mlx4/mr.c | 16 +-
drivers/infiniband/hw/mlx4/qp.c | 14 +-
drivers/infiniband/hw/mlx4/srq.c | 4 +
drivers/infiniband/hw/mlx4/sysfs.c | 66 +-
drivers/infiniband/hw/mlx5/cq.c | 77 +-
drivers/infiniband/hw/mlx5/devx.c | 90 +-
drivers/infiniband/hw/mlx5/fs.c | 6 +-
drivers/infiniband/hw/mlx5/main.c | 105 +--
drivers/infiniband/hw/mlx5/mem.c | 192 ++---
drivers/infiniband/hw/mlx5/mlx5_ib.h | 102 ++-
drivers/infiniband/hw/mlx5/mr.c | 960 ++++++++++++---------
drivers/infiniband/hw/mlx5/odp.c | 56 +-
drivers/infiniband/hw/mlx5/qp.c | 197 ++---
drivers/infiniband/hw/mlx5/restrack.c | 2 +-
drivers/infiniband/hw/mlx5/srq.c | 34 +-
drivers/infiniband/hw/mlx5/srq.h | 1 +
drivers/infiniband/hw/mlx5/srq_cmd.c | 80 +-
drivers/infiniband/hw/mthca/mthca_cq.c | 2 +-
drivers/infiniband/hw/mthca/mthca_dev.h | 1 -
drivers/infiniband/hw/mthca/mthca_provider.c | 61 +-
drivers/infiniband/hw/mthca/mthca_qp.c | 3 +
drivers/infiniband/hw/ocrdma/ocrdma_main.c | 42 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 11 +-
drivers/infiniband/hw/qedr/main.c | 39 +-
drivers/infiniband/hw/qedr/verbs.c | 13 +
drivers/infiniband/hw/qib/qib_pcie.c | 11 +-
drivers/infiniband/hw/qib/qib_sysfs.c | 96 +--
drivers/infiniband/hw/usnic/usnic_ib_main.c | 19 -
drivers/infiniband/hw/usnic/usnic_ib_sysfs.c | 100 +--
drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 7 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 3 +
drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 34 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 5 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c | 2 +-
drivers/infiniband/sw/rdmavt/Kconfig | 1 -
drivers/infiniband/sw/rdmavt/ah.c | 3 +-
drivers/infiniband/sw/rdmavt/cq.c | 2 +-
drivers/infiniband/sw/rdmavt/mcast.c | 12 +-
drivers/infiniband/sw/rdmavt/mr.c | 6 +-
drivers/infiniband/sw/rdmavt/qp.c | 18 +-
drivers/infiniband/sw/rdmavt/vt.c | 36 +-
drivers/infiniband/sw/rxe/Kconfig | 1 -
drivers/infiniband/sw/rxe/rxe_cq.c | 5 -
drivers/infiniband/sw/rxe/rxe_mr.c | 1 -
drivers/infiniband/sw/rxe/rxe_net.c | 18 -
drivers/infiniband/sw/rxe/rxe_queue.h | 94 +-
drivers/infiniband/sw/rxe/rxe_req.c | 3 +-
drivers/infiniband/sw/rxe/rxe_resp.c | 5 -
drivers/infiniband/sw/rxe/rxe_verbs.c | 67 +-
drivers/infiniband/sw/rxe/rxe_verbs.h | 2 -
drivers/infiniband/sw/siw/Kconfig | 1 -
drivers/infiniband/sw/siw/siw.h | 1 -
drivers/infiniband/sw/siw/siw_cm.c | 2 +-
drivers/infiniband/sw/siw/siw_main.c | 52 +-
drivers/infiniband/sw/siw/siw_verbs.c | 12 +
drivers/infiniband/ulp/ipoib/ipoib_cm.c | 4 +-
drivers/infiniband/ulp/ipoib/ipoib_ethtool.c | 4 +
drivers/infiniband/ulp/ipoib/ipoib_main.c | 7 +-
drivers/infiniband/ulp/ipoib/ipoib_verbs.c | 4 +-
drivers/infiniband/ulp/ipoib/ipoib_vlan.c | 2 +-
drivers/infiniband/ulp/iser/iscsi_iser.c | 24 +-
drivers/infiniband/ulp/isert/ib_isert.c | 29 +-
drivers/infiniband/ulp/isert/ib_isert.h | 6 +
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.h | 2 +-
.../infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c | 2 +-
drivers/infiniband/ulp/rtrs/rtrs-clt-sysfs.c | 62 +-
drivers/infiniband/ulp/rtrs/rtrs-clt.c | 74 +-
drivers/infiniband/ulp/rtrs/rtrs-clt.h | 1 +
drivers/infiniband/ulp/rtrs/rtrs-pri.h | 3 +-
drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c | 21 +-
drivers/infiniband/ulp/rtrs/rtrs-srv.c | 119 +--
drivers/infiniband/ulp/rtrs/rtrs-srv.h | 2 +-
drivers/infiniband/ulp/rtrs/rtrs.c | 61 +-
drivers/infiniband/ulp/srp/ib_srp.c | 48 +-
drivers/infiniband/ulp/srpt/ib_srpt.c | 14 +-
drivers/infiniband/ulp/srpt/ib_srpt.h | 2 +-
drivers/nvme/host/rdma.c | 2 +-
drivers/nvme/target/rdma.c | 3 +-
drivers/pci/p2pdma.c | 25 +-
include/linux/dma-mapping.h | 2 -
include/rdma/ib_umem.h | 42 +
include/rdma/ib_verbs.h | 198 +++--
include/rdma/restrack.h | 24 +
include/rdma/uverbs_ioctl.h | 25 +-
include/rdma/uverbs_types.h | 9 +-
include/uapi/rdma/hns-abi.h | 10 +
include/uapi/rdma/ib_user_verbs.h | 14 -
include/uapi/rdma/rdma_user_rxe.h | 21 +
kernel/dma/Kconfig | 5 -
kernel/dma/Makefile | 1 -
kernel/dma/virt.c | 61 --
net/rds/ib.c | 10 -
net/rds/ib.h | 13 -
net/rds/ib_cm.c | 128 +--
net/rds/ib_recv.c | 18 +-
net/rds/ib_send.c | 8 +
tools/testing/scatterlist/main.c | 64 +-
175 files changed, 3845 insertions(+), 3915 deletions(-)
(diffstat from tag for-linus-merged)
Attachment:
signature.asc
Description: PGP signature