Hi Linus, Another smaller pull request this time. There is a new RDMA driver on the list for Alibaba's cloud environment which may land for the next cycle. Thanks, Jason The following changes since commit e783362eb54cd99b2cac8b3a9aeac942e6f6ac07: Linux 5.17-rc1 (2022-01-23 10:12:53 +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 87e0eacb176f9500c2063d140c0a1d7fa51ab8a5: RDMA/nldev: Prevent underflow in nldev_stat_set_counter_dynamic_doit() (2022-03-18 15:40:54 -0300) ---------------------------------------------------------------- v5.18 merge window pull request Patchces for the merge window: - Minor bug fixes in mlx5, mthca, pvrdma, rtrs, mlx4, hfi1, hns - Minor cleanups: coding style, useless includes and documentation - Reorganize how multicast processing works in rxe - Replace a red/black tree with xarray in rxe which improves performance - DSCP support and HW address handle re-use in irdma - Simplify the mailbox command handling in hns - Simplify iser now that FMR is eliminated ---------------------------------------------------------------- Aharon Landau (5): RDMA/mlx5: Remove redundant work in struct mlx5_cache_ent RDMA/mlx5: Fix the flow of a miss in the allocation of a cache ODP MR RDMA/mlx5: Merge similar flows of allocating MR from the cache RDMA/mlx5: Store ndescs instead of the translation table size RDMA/mlx5: Reorder calls to pcie_relaxed_ordering_enabled() Bart Van Assche (1): RDMA/ib_srp: Add more documentation Bob Pearson (27): RDMA/rxe: Move rxe_mcast_add/delete to rxe_mcast.c RDMA/rxe: Move rxe_mcast_attach/detach to rxe_mcast.c RDMA/rxe: Rename rxe_mc_grp and rxe_mc_elem RDMA/rxe: Enforce IBA o10-2.2.3 RDMA/rxe: Remove rxe_drop_all_macst_groups RDMA/rxe: Remove qp->grp_lock and qp->grp_list RDMA/rxe: Revert changes from irqsave to bh locks RDMA/rxe: Move mcg_lock to rxe RDMA/rxe: Use kzmalloc/kfree for mca RDMA/rxe: Replace grp by mcg, mce by mca RDMA/rxe: Replace int num_qp by atomic_t qp_num RDMA/rxe: Replace pool key by rxe->mcg_tree RDMA/rxe: Remove key'ed object support RDMA/rxe: Remove mcg from rxe pools RDMA/rxe: Warn if mcast memory is not freed RDMA/rxe: Collect mca init code in a subroutine RDMA/rxe: Collect cleanup mca code in a subroutine RDMA/rxe: Cleanup rxe_mcast.c RDMA/rxe: Fix ref error in rxe_av.c RDMA/rxe: Replace mr by rkey in responder resources RDMA/rxe: Reverse the sense of RXE_POOL_NO_ALLOC RDMA/rxe: Delete _locked() APIs for pool objects RDMA/rxe: Replace obj by elem in declaration RDMA/rxe: Move max_elem into rxe_type_info RDMA/rxe: Shorten pool names in rxe_pool.c RDMA/rxe: Replace red-black trees by xarrays RDMA/rxe: Use standard names for ref counting Chengchang Tang (5): RDMA/hns: Remove the unused parameter "op_modifier" in mailbox RDMA/hns: Remove fixed parameter “timeout” in the mailbox RDMA/hns: Refactor mailbox functions RDMA/hns: Remove similar code that configures the hardware contexts RDMA/hns: Refactor the alloc_srqc() Chengguang Xu (2): RDMA/rxe: Change variable and function argument to proper type RDMA/rxe: Remove useless argument for update_state() Christophe JAILLET (2): IB/mthca: Remove useless DMA-32 fallback configuration RDMA/pvrdma: Remove useless DMA-32 fallback configuration Colin Ian King (1): RDMA/mlx4: remove redundant assignment to variable nreq Dan Carpenter (2): RDMA/irdma: Prevent some integer underflows RDMA/nldev: Prevent underflow in nldev_stat_set_counter_dynamic_doit() Dave Ertman (1): ice: add support for DSCP QoS for IDC Gioh Kim (2): RDMA/rtrs: Remove empty line after bracket RDMA/rtrs-clt: Reflow text so lines don't end with a '(' Håkon Bugge (1): IB/cma: Allow XRC INI QPs to set their local ACK timeout Jack Wang (2): RDMA/rtrs-clt: Update one outdated comment in path_it_deinit() RDMA/rtrs-clt: Do stop and failover outside reconnect work. Jason Gunthorpe (1): Merge branch 'irdma_dscp' into rdma.git for-next Julia Lawall (1): RDMA/qib: Fix typos in comments Leon Romanovsky (13): RDMA/mlx5: Delete get_num_static_uars function RDMA/mlx5: Delete useless module.h include RDMA/core: Delete useless module.h include RDMA/hfi1: Delete useless module.h include RDMA/mlx4: Delete useless module.h include RDMA/mthca: Delete useless module.h include RDMA/qib: Delete useless module.h include RDMA/usnic: Delete useless module.h include RDMA/rxe: Delete useless module.h include RDMA/ipoib: Delete useless module.h include RDMA/iser: Delete useless module.h include RDMA/opa: Delete useless module.h include Revert "RDMA/core: Fix ib_qp_usecnt_dec() called when error" Maor Gottlieb (1): RDMA/core: Set MR type in ib_reg_user_mr Max Gurtovoy (4): IB/iser: Remove iser_reg_data_sg helper function IB/iser: Use iser_fr_desc as registration context IB/iser: Generalize map/unmap dma tasks IB/iser: Fix error flow in case of registration failure Mike Marciniszyn (1): IB/hfi1: Allow larger MTU without AIP Mustafa Ismail (6): RDMA/irdma: Refactor DCB bits in prep for DSCP support RDMA/irdma: Add support for DSCP RDMA/irdma: Fix netdev notifications for vlan's RDMA/irdma: Fix Passthrough mode in VM RDMA/irdma: Remove incorrect masking of PD RDMA/irdma: Add support for address handle re-use Shiraz Saleem (3): RDMA/irdma: Remove enum irdma_status_code RDMA/irdma: Propagate error codes RDMA/irdma: Remove excess error variables Wenpeng Liang (4): RDMA/hns: Remove redundant parameter "mailbox" in the mailbox RDMA/hns: Fix the wrong type of parameter "op" of the mailbox RDMA/hns: Clean up the return value check of hns_roce_alloc_cmd_mailbox() RDMA/hns: Refactor the alloc_cqc() Xiao Yang (1): RDMA/rxe: Check the last packet by RXE_END_MASK Yajun Deng (2): RDMA/core: Remove unnecessary statements RDMA/core: Fix ib_qp_usecnt_dec() called when error Yixing Liu (1): RDMA/hns: Use the reserved loopback QPs to free MR before destroying MPT Yongzhi Liu (1): RDMA/mlx5: Fix memory leak in error flow for subscribe event routine Yury Norov (1): RDMA/hfi: Replace cpumask_weight with cpumask_empty where appropriate Zhu Yanjun (4): RDMA/irdma: Use net_type to check network type RDMA/irdma: Remove the unnecessary variable saddr RDMA/irdma: Move union irdma_sockaddr to header file RDMA/irdma: Make irdma_create_mg_ctx return a void drivers/infiniband/core/addr.c | 1 - drivers/infiniband/core/cache.c | 1 - drivers/infiniband/core/cma.c | 2 +- drivers/infiniband/core/cma_configfs.c | 1 - drivers/infiniband/core/cq.c | 1 - drivers/infiniband/core/iwpm_util.h | 1 - drivers/infiniband/core/nldev.c | 3 +- drivers/infiniband/core/sa_query.c | 1 - drivers/infiniband/core/verbs.c | 9 +- drivers/infiniband/hw/hfi1/affinity.c | 5 +- drivers/infiniband/hw/hfi1/debugfs.c | 1 - drivers/infiniband/hw/hfi1/device.c | 1 - drivers/infiniband/hw/hfi1/fault.c | 1 - drivers/infiniband/hw/hfi1/firmware.c | 1 - drivers/infiniband/hw/hfi1/verbs.c | 3 +- drivers/infiniband/hw/hns/hns_roce_cmd.c | 97 ++-- drivers/infiniband/hw/hns/hns_roce_cmd.h | 8 +- drivers/infiniband/hw/hns/hns_roce_cq.c | 71 +-- drivers/infiniband/hw/hns/hns_roce_device.h | 26 +- drivers/infiniband/hw/hns/hns_roce_hem.c | 4 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 458 +++++++++++++--- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 20 + drivers/infiniband/hw/hns/hns_roce_hw_v2_dfx.c | 5 +- drivers/infiniband/hw/hns/hns_roce_mr.c | 50 +- drivers/infiniband/hw/hns/hns_roce_srq.c | 110 ++-- drivers/infiniband/hw/irdma/cm.c | 68 +-- drivers/infiniband/hw/irdma/cm.h | 7 + drivers/infiniband/hw/irdma/ctrl.c | 602 +++++++++++----------- drivers/infiniband/hw/irdma/defs.h | 8 +- drivers/infiniband/hw/irdma/hmc.c | 105 ++-- drivers/infiniband/hw/irdma/hmc.h | 53 +- drivers/infiniband/hw/irdma/hw.c | 192 ++++--- drivers/infiniband/hw/irdma/i40iw_hw.c | 1 - drivers/infiniband/hw/irdma/i40iw_if.c | 3 +- drivers/infiniband/hw/irdma/main.c | 29 +- drivers/infiniband/hw/irdma/main.h | 47 +- drivers/infiniband/hw/irdma/osdep.h | 41 +- drivers/infiniband/hw/irdma/pble.c | 77 ++- drivers/infiniband/hw/irdma/pble.h | 25 +- drivers/infiniband/hw/irdma/protos.h | 90 ++-- drivers/infiniband/hw/irdma/puda.c | 132 +++-- drivers/infiniband/hw/irdma/puda.h | 43 +- drivers/infiniband/hw/irdma/status.h | 71 --- drivers/infiniband/hw/irdma/type.h | 109 ++-- drivers/infiniband/hw/irdma/uda.c | 40 +- drivers/infiniband/hw/irdma/uda.h | 46 +- drivers/infiniband/hw/irdma/uk.c | 122 ++--- drivers/infiniband/hw/irdma/user.h | 62 +-- drivers/infiniband/hw/irdma/utils.c | 247 +++++---- drivers/infiniband/hw/irdma/verbs.c | 389 +++++++------- drivers/infiniband/hw/irdma/verbs.h | 15 +- drivers/infiniband/hw/irdma/ws.c | 19 +- drivers/infiniband/hw/irdma/ws.h | 2 +- drivers/infiniband/hw/mlx4/alias_GUID.c | 1 - drivers/infiniband/hw/mlx4/srq.c | 1 - drivers/infiniband/hw/mlx5/devx.c | 4 +- drivers/infiniband/hw/mlx5/ib_virt.c | 1 - drivers/infiniband/hw/mlx5/mem.c | 1 - drivers/infiniband/hw/mlx5/mlx5_ib.h | 12 +- drivers/infiniband/hw/mlx5/mr.c | 104 ++-- drivers/infiniband/hw/mlx5/odp.c | 19 +- drivers/infiniband/hw/mlx5/qp.c | 4 +- drivers/infiniband/hw/mlx5/srq.c | 1 - drivers/infiniband/hw/mthca/mthca_main.c | 8 +- drivers/infiniband/hw/mthca/mthca_profile.c | 2 - drivers/infiniband/hw/qib/qib_fs.c | 1 - drivers/infiniband/hw/qib/qib_iba7220.c | 4 +- drivers/infiniband/hw/usnic/usnic_debugfs.c | 1 - drivers/infiniband/hw/usnic/usnic_ib_qp_grp.c | 1 - drivers/infiniband/hw/usnic/usnic_ib_sysfs.c | 1 - drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 1 - drivers/infiniband/hw/usnic/usnic_transport.c | 1 - drivers/infiniband/hw/usnic/usnic_vnic.c | 1 - drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 10 +- drivers/infiniband/sw/rxe/rxe.c | 110 +--- drivers/infiniband/sw/rxe/rxe.h | 1 - drivers/infiniband/sw/rxe/rxe_av.c | 19 +- drivers/infiniband/sw/rxe/rxe_comp.c | 8 +- drivers/infiniband/sw/rxe/rxe_cq.c | 20 +- drivers/infiniband/sw/rxe/rxe_loc.h | 32 +- drivers/infiniband/sw/rxe/rxe_mcast.c | 556 +++++++++++++++----- drivers/infiniband/sw/rxe/rxe_mmap.c | 1 - drivers/infiniband/sw/rxe/rxe_mr.c | 15 +- drivers/infiniband/sw/rxe/rxe_mw.c | 38 +- drivers/infiniband/sw/rxe/rxe_net.c | 41 +- drivers/infiniband/sw/rxe/rxe_pool.c | 443 ++++------------ drivers/infiniband/sw/rxe/rxe_pool.h | 105 +--- drivers/infiniband/sw/rxe/rxe_qp.c | 57 +- drivers/infiniband/sw/rxe/rxe_queue.c | 10 +- drivers/infiniband/sw/rxe/rxe_recv.c | 26 +- drivers/infiniband/sw/rxe/rxe_req.c | 71 +-- drivers/infiniband/sw/rxe/rxe_resp.c | 170 +++--- drivers/infiniband/sw/rxe/rxe_verbs.c | 108 ++-- drivers/infiniband/sw/rxe/rxe_verbs.h | 27 +- drivers/infiniband/ulp/ipoib/ipoib_netlink.c | 1 - drivers/infiniband/ulp/ipoib/ipoib_vlan.c | 1 - drivers/infiniband/ulp/iser/iscsi_iser.h | 13 +- drivers/infiniband/ulp/iser/iser_initiator.c | 58 +-- drivers/infiniband/ulp/iser/iser_memory.c | 69 +-- drivers/infiniband/ulp/iser/iser_verbs.c | 3 +- drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c | 1 - drivers/infiniband/ulp/rtrs/rtrs-clt-sysfs.c | 3 +- drivers/infiniband/ulp/rtrs/rtrs-clt.c | 42 +- drivers/infiniband/ulp/rtrs/rtrs-clt.h | 1 + drivers/infiniband/ulp/rtrs/rtrs.c | 1 - drivers/infiniband/ulp/srp/ib_srp.h | 11 +- drivers/net/ethernet/intel/ice/ice_idc.c | 5 + include/linux/net/intel/iidc.h | 4 + 108 files changed, 2890 insertions(+), 2886 deletions(-) delete mode 100644 drivers/infiniband/hw/irdma/status.h