Hi Linus, This cycle we got a new RDMA driver "ERDMA" for the Alibaba cloud environment. Otherwise the PR is dominated by rxe fixes. There is another RDMA driver on the list that might get merged next cycle, "MANA" for the Azure cloud environment. Thanks, Jason The following changes since commit cdcdce948d64139aea1c6dfea4b04f5c8ad2784e: net/mlx5: Add bits and fields to support enhanced CQE compression (2022-06-13 14:59:06 -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 6b822d408b58c3c4f26dae93245c6b7d8b39e0f9: RDMA/ib_srpt: Unify checking rdma_cm_id condition in srpt_cm_req_recv() (2022-08-02 15:10:55 -0300) ---------------------------------------------------------------- v5.20 pull request This PR includes a new RDMA driver for Alibaba Cloud hardware - Bug fixes and small features for irdma, hns, siw, qedr, hfi1, mlx5 - General spelling/grammer fixes - rdma cm can follow changes in neighbours for control packets - Significant amounts of rxe fixes and spec compliance changes - Use the modern NAPI API - Use the bitmap API instead of open coding - Performance improvements for rtrs - Add the ERDMA driver for Alibaba cloud - Fix a use after free bug in SRP ---------------------------------------------------------------- Aharon Landau (6): RDMA/mlx5: Add a umr recovery flow RDMA/mlx5: Replace ent->lock with xa_lock RDMA/mlx5: Replace cache list with Xarray RDMA/mlx5: Store the number of in_use cache mkeys instead of total_mrs RDMA/mlx5: Store in the cache mkeys instead of mrs RDMA/mlx5: Rename the mkey cache variables and functions Andrey Strachuk (1): RDMA: remove useless condition in siw_create_cq() Bart Van Assche (3): RDMA/srpt: Duplicate port name members RDMA/srpt: Introduce a reference count in struct srpt_device RDMA/srpt: Fix a use-after-free Bob Pearson (18): RDMA/rxe: Stop lookup of partially built objects RDMA/rxe: Convert read side locking to rcu RDMA/rxe: Move code to rxe_prepare_atomic_res() RDMA/rxe: Add a responder state for atomic reply RDMA/rxe: Move atomic responder res to atomic_reply RDMA/rxe: Move atomic original value to res RDMA/rxe: Merge normal and retry atomic flows RDMA/rxe: Fix deadlock in rxe_do_local_ops() RDMA/rxe: Convert pr_warn/err to pr_debug in pyverbs RDMA/rxe: Replace include statement RDMA/rxe: Remove unnecessary include statement RDMA/rxe: Fix mw bind to allow any consumer key portion RDMA/rxe: Add rxe_is_fenced() subroutine RDMA/rxe: Fix rnr retry behavior RDMA/rxe: Make the tasklet exits the same RDMA/rxe: Limit the number of calls to each tasklet RDMA/rxe: Replace __rxe_do_task by rxe_run_task RDMA/rxe: Split qp state for requester and completer Cheng Xu (12): RDMA/siw: Fix duplicated reported IW_CM_EVENT_CONNECT_REPLY event RDMA: Add ERDMA to rdma_driver_id definition RDMA/erdma: Add the hardware related definitions RDMA/erdma: Add main include file RDMA/erdma: Add cmdq implementation RDMA/erdma: Add event queue implementation RDMA/erdma: Add verbs header file RDMA/erdma: Add verbs implementation RDMA/erdma: Add connection management (CM) support RDMA/erdma: Add the erdma module RDMA/erdma: Add the ABI definitions RDMA/erdma: Add driver to kernel build environment Christophe JAILLET (5): RDMA/qib: Use the bitmap API when applicable RDMA/qib: Use the bitmap API to allocate bitmaps RDMA/rtrs-clt: Use the bitmap API to allocate bitmaps RDMA/rtrs-clt: Use bitmap_empty() RDMA/irdma: Use the bitmap API to allocate bitmaps Dongliang Mu (1): RDMA/rxe: fix xa_alloc_cycle() error return value check again Ehab Ababneh (1): RDMA/hfi1: Depend on !UML Haoyue Xu (5): RDMA/hns: Remove unused abnormal interrupt of type RAS RDMA/hns: Fix the wrong type of return value of the interrupt handler RDMA/hns: Fix incorrect clearing of interrupt status register RDMA/hns: Refactor the abnormal interrupt handler function RDMA/hns: Recover 1bit-ECC error of RAM on chip Jack Wang (2): RDMA/rtrs-srv: Fix modinfo output for stringify RDMA/rtrs-srv: Do not use mempool for page allocation Jakub Kicinski (3): IB/hfi1: switch to netif_napi_add_tx() IB/hfi1: switch to netif_napi_add_weight() ipoib: switch to netif_napi_add_weight() Jason Gunthorpe (1): Merge branch 'erdma' into rdma.git for-next Jason Wang (1): IB/qib: Fix comment typo Jiang Jian (1): RDMA: Correct duplicated words in comments Jianglei Nie (2): RDMA/qedr: Fix potential memory leak in __qedr_alloc_mr() RDMA/hfi1: fix potential memory leak in setup_base_ctxt() Leon Romanovsky (2): Merge branch 'mlx5-next' into wip/leon-for-next Merge branch 'mlx5-next' into wip/leon-for-next Li Zhijian (4): Revert "RDMA/rxe: Create duplicate mapping tables for FMRs" RDMA/rxe: Update wqe_index for each wqe error completion RDMA/rxe: Generate error completion for error requester QP state RDMA/ib_srpt: Unify checking rdma_cm_id condition in srpt_cm_req_recv() Maor Gottlieb (1): RDMA/mlx5: Add missing check for return value in get namespace flow Mark Bloch (5): net/mlx5: Expose the ability to point to any UID from shared UID net/mlx5: fs, expose flow table ID to users net/mlx5: fs, allow flow table creation with a UID RDMA/mlx5: Refactor get flow table function RDMA/mlx5: Expose steering anchor to userspace Max Gurtovoy (1): IB/iser: Drain the entire QP during destruction flow Md Haris Iqbal (2): RDMA/rtrs-clt: Replace list_next_or_null_rr_rcu with an inline function RDMA/rxe: For invalidate compare according to set keys in mr Mustafa Ismail (6): RDMA/irdma: Add 2 level PBLE support for FMR RDMA/irdma: Add AE source to error log RDMA/irdma: Make CQP invalid state error non-critical RDMA/irdma: Fix a window for use-after-free RDMA/irdma: Fix VLAN connection with wildcard address RDMA/irdma: Fix setting of QP context err_rq_idx_valid field Nayan Kumar (1): RDMA/irdma: Make resource distribution algorithm more QP oriented Patrisious Haddad (2): RDMA/core: Add an rb_tree that stores cm_ids sorted by ifindex and remote IP RDMA/core: Add a netevent notifier to cma Robin Murphy (1): RDMA/usnic: Use device_iommu_capable() Santosh Kumar Pradhan (2): RDMA/rtrs-clt: Use this_cpu_ API for stats RDMA/rtrs-srv: Use per-cpu variables for rdma stats Slark Xiao (1): IB: Fix repeated words 'the the' comments Xiang wangx (1): RDMA/hfi1: Fix typo in comment Xiao Yang (4): RDMA/rxe: Remove useless pkt parameters RDMA/rxe: Add common rxe_prepare_res() RDMA/rxe: Rename rxe_atomic_reply to atomic_reply RDMA/rxe: Remove unused qp parameter Xin Gao (1): RDMA: Fix comment typo Zhang Jiaming (2): IB: Fix spelling of 'writable' RDMA/rxe: Fix spelling mistake in error print Zhu Yanjun (2): RDMA/rxe: Fix BUG: KASAN: null-ptr-deref in rxe_qp_do_cleanup RDMA/rxe: Fix error unwind in rxe_create_qp() lizhijian@xxxxxxxxxxx (1): RDMA/rxe: Remove unused mask parameter wangjianli (1): IB/qib: Fix repeated "in" within comments MAINTAINERS | 8 + drivers/infiniband/Kconfig | 15 +- drivers/infiniband/core/cma.c | 230 ++- drivers/infiniband/core/cma_priv.h | 1 + drivers/infiniband/core/rdma_core.c | 2 +- drivers/infiniband/core/roce_gid_mgmt.c | 2 +- drivers/infiniband/hw/Makefile | 1 + drivers/infiniband/hw/bnxt_re/bnxt_re.h | 2 +- drivers/infiniband/hw/erdma/Kconfig | 12 + drivers/infiniband/hw/erdma/Makefile | 4 + drivers/infiniband/hw/erdma/erdma.h | 287 ++++ drivers/infiniband/hw/erdma/erdma_cm.c | 1430 +++++++++++++++++++ drivers/infiniband/hw/erdma/erdma_cm.h | 167 +++ drivers/infiniband/hw/erdma/erdma_cmdq.c | 493 +++++++ drivers/infiniband/hw/erdma/erdma_cq.c | 205 +++ drivers/infiniband/hw/erdma/erdma_eq.c | 329 +++++ drivers/infiniband/hw/erdma/erdma_hw.h | 508 +++++++ drivers/infiniband/hw/erdma/erdma_main.c | 608 ++++++++ drivers/infiniband/hw/erdma/erdma_qp.c | 566 ++++++++ drivers/infiniband/hw/erdma/erdma_verbs.c | 1460 ++++++++++++++++++++ drivers/infiniband/hw/erdma/erdma_verbs.h | 342 +++++ drivers/infiniband/hw/hfi1/Kconfig | 2 +- drivers/infiniband/hw/hfi1/file_ops.c | 4 +- drivers/infiniband/hw/hfi1/ipoib_tx.c | 4 +- drivers/infiniband/hw/hfi1/netdev_rx.c | 2 +- drivers/infiniband/hw/hfi1/pio_copy.c | 2 +- drivers/infiniband/hw/hns/hns_roce_device.h | 1 + drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 248 +++- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 13 +- drivers/infiniband/hw/irdma/cm.c | 11 +- drivers/infiniband/hw/irdma/ctrl.c | 8 +- drivers/infiniband/hw/irdma/hw.c | 33 +- drivers/infiniband/hw/irdma/main.h | 2 +- drivers/infiniband/hw/irdma/utils.c | 1 + drivers/infiniband/hw/irdma/verbs.c | 16 +- drivers/infiniband/hw/mlx5/cq.c | 4 + drivers/infiniband/hw/mlx5/fs.c | 165 ++- drivers/infiniband/hw/mlx5/main.c | 4 +- drivers/infiniband/hw/mlx5/mlx5_ib.h | 79 +- drivers/infiniband/hw/mlx5/mr.c | 514 +++---- drivers/infiniband/hw/mlx5/odp.c | 2 +- drivers/infiniband/hw/mlx5/umr.c | 78 +- drivers/infiniband/hw/qedr/verbs.c | 8 +- drivers/infiniband/hw/qib/qib.h | 2 +- drivers/infiniband/hw/qib/qib_file_ops.c | 6 +- drivers/infiniband/hw/qib/qib_iba7220.c | 2 +- drivers/infiniband/hw/qib/qib_iba7322.c | 23 +- drivers/infiniband/hw/qib/qib_init.c | 5 +- drivers/infiniband/hw/qib/qib_sd7220.c | 2 +- drivers/infiniband/hw/usnic/usnic_uiom.c | 2 +- drivers/infiniband/sw/rxe/rxe_comp.c | 49 +- drivers/infiniband/sw/rxe/rxe_cq.c | 8 +- drivers/infiniband/sw/rxe/rxe_loc.h | 5 +- drivers/infiniband/sw/rxe/rxe_mr.c | 213 +-- drivers/infiniband/sw/rxe/rxe_mw.c | 19 +- drivers/infiniband/sw/rxe/rxe_param.h | 6 + drivers/infiniband/sw/rxe/rxe_pool.c | 106 +- drivers/infiniband/sw/rxe/rxe_pool.h | 18 +- drivers/infiniband/sw/rxe/rxe_qp.c | 36 +- drivers/infiniband/sw/rxe/rxe_queue.h | 5 +- drivers/infiniband/sw/rxe/rxe_req.c | 137 +- drivers/infiniband/sw/rxe/rxe_resp.c | 236 ++-- drivers/infiniband/sw/rxe/rxe_task.c | 16 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 78 +- drivers/infiniband/sw/rxe/rxe_verbs.h | 27 +- drivers/infiniband/sw/siw/siw_cm.c | 7 +- drivers/infiniband/sw/siw/siw_verbs.c | 2 +- drivers/infiniband/ulp/ipoib/ipoib_ib.c | 2 +- drivers/infiniband/ulp/ipoib/ipoib_main.c | 6 +- drivers/infiniband/ulp/iser/iser_verbs.c | 6 +- drivers/infiniband/ulp/rtrs/rtrs-clt-stats.c | 14 +- drivers/infiniband/ulp/rtrs/rtrs-clt.c | 50 +- drivers/infiniband/ulp/rtrs/rtrs-pri.h | 21 +- drivers/infiniband/ulp/rtrs/rtrs-srv-stats.c | 32 +- drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c | 2 + drivers/infiniband/ulp/rtrs/rtrs-srv.c | 32 +- drivers/infiniband/ulp/rtrs/rtrs-srv.h | 15 +- drivers/infiniband/ulp/srpt/ib_srpt.c | 156 ++- drivers/infiniband/ulp/srpt/ib_srpt.h | 18 +- drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c | 16 +- drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.h | 2 +- drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 8 +- .../ethernet/mellanox/mlx5/core/steering/dr_cmd.c | 1 + .../mellanox/mlx5/core/steering/dr_table.c | 8 +- .../mellanox/mlx5/core/steering/dr_types.h | 1 + .../ethernet/mellanox/mlx5/core/steering/fs_dr.c | 7 +- .../ethernet/mellanox/mlx5/core/steering/mlx5dr.h | 3 +- include/linux/mlx5/driver.h | 6 +- include/linux/mlx5/fs.h | 2 + include/linux/mlx5/mlx5_ifc.h | 6 +- include/rdma/ib_verbs.h | 2 +- include/rdma/rdma_cm.h | 1 + include/uapi/rdma/erdma-abi.h | 49 + include/uapi/rdma/ib_user_ioctl_verbs.h | 1 + include/uapi/rdma/mlx5_user_ioctl_cmds.h | 17 + 95 files changed, 8364 insertions(+), 1003 deletions(-) (diffstat from tag for-linus-merged)
Attachment:
signature.asc
Description: PGP signature