mbox series

[GIT,PULL] Please pull RDMA subsystem changes

Message ID 20240517193432.GA129526@nvidia.com (mailing list archive)
State Accepted
Headers show
Series [GIT,PULL] Please pull RDMA subsystem changes | expand

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

Message

Jason Gunthorpe May 17, 2024, 7:34 p.m. UTC
Hi Linus,

Aside from the usual things this has an arch update for
__iowrite64_copy() used by the RDMA drivers. This API was intended to
generate large 64 byte MemWr TLPs on PCI. These days most processors
had done this by just repeating writel() in a loop. S390 and some new
ARM64 designs require a special helper to get this to generate.

Thanks,
Jason

The following changes since commit a68292eb431619a5f8db9d4868346837c5606424:

  net: mana: Avoid open coded arithmetic (2024-04-11 13:46:47 +0300)

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 9c0731832d3b7420cbadba6a7f334363bc8dfb15:

  RDMA/cma: Fix kmemleak in rdma_core observed during blktests nvme/rdma use siw (2024-05-12 13:04:11 +0300)

----------------------------------------------------------------
RDMA v6.10 merge window

Normal set of driver updates and small fixes:

- Small improvements and fixes for erdma, efa, hfi1, bnxt_re

- Fix a UAF crash after module unload on leaking restrack entry

- Continue adding full RDMA support in mana with support for EQs, GID's
  and CQs

- Improvements to the mkey cache in mlx5

- DSCP traffic class support in hns and several bug fixes

- Cap the maximum number of MADs in the receive queue to avoid OOM

- Another batch of rxe bug fixes from large scale testing

- __iowrite64_copy() optimizations for write combining MMIO memory

- Remove NULL checks before dev_put/hold()

- EFA support for receive with immediate

- Fix a recent memleaking regression in a cma error path

----------------------------------------------------------------
Bob Pearson (12):
      RDMA/rxe: Fix seg fault in rxe_comp_queue_pkt
      RDMA/rxe: Allow good work requests to be executed
      RDMA/rxe: Remove redundant scheduling of rxe_completer
      RDMA/rxe: Merge request and complete tasks
      RDMA/rxe: Remove save/rollback_state in rxe_requester
      RDMA/rxe: Don't schedule rxe_completer from rxe_requester
      RDMA/rxe: Don't call rxe_requester from rxe_completer
      RDMA/rxe: Don't call direct between tasks
      RDMA/rxe: Fix incorrect rxe_put in error path
      RDMA/rxe: Make rxe_loopback match rxe_send behavior
      RDMA/rxe: Get rid of pkt resend on err
      RDMA/rxe: Let destroy qp succeed with stuck packet

Boshi Yu (3):
      RDMA/erdma: Allocate doorbell records from dma pool
      RDMA/erdma: Unify the names related to doorbell records
      RDMA/erdma: Remove unnecessary __GFP_ZERO flag

Breno Leitao (2):
      IB/hfi1: Do not use custom stat allocator
      IB/hfi1: Remove generic .ndo_get_stats64

Chengchang Tang (7):
      RDMA/hns: Remove unused parameters and variables
      RDMA/hns: Add max_ah and cq moderation capacities in query_device()
      RDMA/hns: Fix deadlock on SRQ async events.
      RDMA/hns: Fix UAF for cq async event
      RDMA/hns: Fix GMV table pagesize
      RDMA/hns: Use complete parentheses in macros
      RDMA/hns: Modify the print level of CQE error

Chiara Meiohas (2):
      RDMA/core: Add an option to display driver-specific QPs in the rdmatool
      RDMA/mlx5: Track DCT, DCI and REG_UMR QPs as diver_detail resources.

Ilpo Järvinen (1):
      RDMA/hfi1: Use RMW accessors for changing LNKCTL2

Jason Gunthorpe (6):
      x86: Stop using weak symbols for __iowrite32_copy()
      s390: Implement __iowrite32_copy()
      s390: Stop using weak symbols for __iowrite64_copy()
      arm64/io: Provide a WC friendly __iowriteXX_copy()
      net: hns3: Remove io_stop_wc() calls after __iowrite64_copy()
      IB/mlx5: Use __iowrite64_copy() for write combining stores

Jules Irenge (3):
      RDMA/mlx5: Remove NULL check before dev_{put, hold}
      RDMA/ipoib: Remove NULL check before dev_{put, hold}
      RDMA/core: Remove NULL check before dev_{put, hold}

Junxian Huang (1):
      RDMA/hns: Support DSCP

Konstantin Taranov (18):
      RDMA/mana_ib: Introduce helpers to create and destroy mana queues
      RDMA/mana_ib: Use struct mana_ib_queue for CQs
      RDMA/mana_ib: Use struct mana_ib_queue for WQs
      RDMA/mana_ib: Use struct mana_ib_queue for RAW QPs
      RDMA/mana_ib: remove useless return values from dbg prints
      RDMA/mana_ib: Use num_comp_vectors of ib_device
      RDMA/mana_ib: Add EQ creation for rnic adapter
      RDMA/mana_ib: Create and destroy rnic adapter
      RDMA/mana_ib: Implement port parameters
      RDMA/mana_ib: Enable RoCE on port 1
      RDMA/mana_ib: Adding and deleting GIDs
      RDMA/mana_ib: Configure mac address in RNIC
      RDMA/mana_ib: Fix missing ret value
      RDMA/mana_ib: create EQs for RNIC CQs
      RDMA/mana_ib: create and destroy RNIC cqs
      RDMA/mana_ib: introduce a helper to remove cq callbacks
      RDMA/mana_ib: boundary check before installing cq callbacks
      RDMA/mana_ib: implement uapi for creation of rnic cq

Leon Romanovsky (2):
      RDMA/mana_ib: Add flex array to struct mana_cfg_rx_steer_req_v2
      RDMA/IPoIB: Fix format truncation compilation errors

Michael Guralnik (1):
      IB/core: Implement a limit on UMAD receive List

Michael Margolin (2):
      RDMA/efa: Add shutdown notifier
      RDMA/efa: Support QP with unsolicited write w/ imm. receive

Michal Schmidt (1):
      bnxt_re: avoid shift undefined behavior in bnxt_qplib_alloc_init_hwq

Or Har-Toov (3):
      RDMA/mlx5: Uncacheable mkey has neither rb_key or cache_ent
      RDMA/mlx5: Change check for cacheable mkeys
      RDMA/mlx5: Adding remote atomic access flag to updatable flags

Wenchao Hao (1):
      RDMA/restrack: Fix potential invalid address access

Yangyang Li (1):
      RDMA/hns: Use macro instead of magic number

Zhengchao Shao (1):
      RDMA/hns: Fix return value in hns_roce_map_mr_sg

Zhu Yanjun (2):
      RDMA/rxe: Return the correct errno
      RDMA/cma: Fix kmemleak in rdma_core observed during blktests nvme/rdma use siw

wenglianfa (2):
      RDMA/hns: Fix mismatch exception rollback
      RDMA/hns: Add mutex_destroy()

 arch/arm64/include/asm/io.h                     | 132 ++++++++++
 arch/arm64/kernel/io.c                          |  42 +++
 arch/s390/include/asm/io.h                      |  15 ++
 arch/s390/pci/pci.c                             |   6 -
 arch/x86/include/asm/io.h                       |  17 ++
 arch/x86/lib/Makefile                           |   1 -
 arch/x86/lib/iomap_copy_64.S                    |  15 --
 drivers/infiniband/core/cma.c                   |   4 +-
 drivers/infiniband/core/device.c                |  10 +-
 drivers/infiniband/core/lag.c                   |   3 +-
 drivers/infiniband/core/nldev.c                 |  23 +-
 drivers/infiniband/core/restrack.c              |  63 +----
 drivers/infiniband/core/roce_gid_mgmt.c         |   3 +-
 drivers/infiniband/core/user_mad.c              |  21 +-
 drivers/infiniband/hw/bnxt_re/qplib_fp.c        |   3 +-
 drivers/infiniband/hw/efa/efa_admin_cmds_defs.h |  11 +-
 drivers/infiniband/hw/efa/efa_com_cmd.c         |   3 +
 drivers/infiniband/hw/efa/efa_com_cmd.h         |   1 +
 drivers/infiniband/hw/efa/efa_main.c            |  11 +
 drivers/infiniband/hw/efa/efa_verbs.c           |  19 +-
 drivers/infiniband/hw/erdma/erdma.h             |  13 +-
 drivers/infiniband/hw/erdma/erdma_cmdq.c        |  99 +++----
 drivers/infiniband/hw/erdma/erdma_cq.c          |   2 +-
 drivers/infiniband/hw/erdma/erdma_eq.c          |  54 ++--
 drivers/infiniband/hw/erdma/erdma_hw.h          |   6 +-
 drivers/infiniband/hw/erdma/erdma_main.c        |  15 +-
 drivers/infiniband/hw/erdma/erdma_qp.c          |   4 +-
 drivers/infiniband/hw/erdma/erdma_verbs.c       | 105 ++++----
 drivers/infiniband/hw/erdma/erdma_verbs.h       |  16 +-
 drivers/infiniband/hw/hfi1/ipoib_main.c         |  20 +-
 drivers/infiniband/hw/hfi1/pcie.c               |  30 +--
 drivers/infiniband/hw/hns/hns_roce_ah.c         |  33 ++-
 drivers/infiniband/hw/hns/hns_roce_alloc.c      |   3 +-
 drivers/infiniband/hw/hns/hns_roce_cq.c         |  25 +-
 drivers/infiniband/hw/hns/hns_roce_device.h     |  14 +-
 drivers/infiniband/hw/hns/hns_roce_hem.c        |  17 +-
 drivers/infiniband/hw/hns/hns_roce_hem.h        |  12 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c      | 154 +++++++----
 drivers/infiniband/hw/hns/hns_roce_hw_v2.h      |  15 +-
 drivers/infiniband/hw/hns/hns_roce_main.c       |  32 ++-
 drivers/infiniband/hw/hns/hns_roce_mr.c         |  19 +-
 drivers/infiniband/hw/hns/hns_roce_qp.c         |  29 ++-
 drivers/infiniband/hw/hns/hns_roce_srq.c        |  12 +-
 drivers/infiniband/hw/mana/cq.c                 | 111 ++++----
 drivers/infiniband/hw/mana/device.c             |  51 +++-
 drivers/infiniband/hw/mana/main.c               | 328 +++++++++++++++++++++++-
 drivers/infiniband/hw/mana/mana_ib.h            | 147 ++++++++++-
 drivers/infiniband/hw/mana/mr.c                 |   2 +-
 drivers/infiniband/hw/mana/qp.c                 | 114 +++-----
 drivers/infiniband/hw/mana/wq.c                 |  31 +--
 drivers/infiniband/hw/mlx5/main.c               |   3 +-
 drivers/infiniband/hw/mlx5/mem.c                |   8 +-
 drivers/infiniband/hw/mlx5/mlx5_ib.h            |   3 +-
 drivers/infiniband/hw/mlx5/mr.c                 |  35 ++-
 drivers/infiniband/hw/mlx5/qp.c                 |   3 +-
 drivers/infiniband/hw/mlx5/restrack.c           |  29 +++
 drivers/infiniband/sw/rxe/rxe_comp.c            |  32 +--
 drivers/infiniband/sw/rxe/rxe_hw_counters.c     |   2 +-
 drivers/infiniband/sw/rxe/rxe_hw_counters.h     |   2 +-
 drivers/infiniband/sw/rxe/rxe_loc.h             |   3 +-
 drivers/infiniband/sw/rxe/rxe_net.c             |  69 ++---
 drivers/infiniband/sw/rxe/rxe_pool.c            |   4 +-
 drivers/infiniband/sw/rxe/rxe_qp.c              |  46 ++--
 drivers/infiniband/sw/rxe/rxe_req.c             |  82 ++----
 drivers/infiniband/sw/rxe/rxe_resp.c            |  14 +-
 drivers/infiniband/sw/rxe/rxe_verbs.c           |  17 +-
 drivers/infiniband/sw/rxe/rxe_verbs.h           |   7 +-
 drivers/infiniband/ulp/ipoib/ipoib_main.c       |   3 +-
 drivers/infiniband/ulp/ipoib/ipoib_vlan.c       |   8 +-
 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c |   4 -
 include/linux/io.h                              |   8 +-
 include/rdma/restrack.h                         |   7 +-
 include/uapi/rdma/efa-abi.h                     |   7 +
 include/uapi/rdma/hns-abi.h                     |   9 +-
 include/uapi/rdma/mana-abi.h                    |  12 +
 include/uapi/rdma/rdma_netlink.h                |   6 +
 lib/iomap_copy.c                                |  13 +-
 77 files changed, 1584 insertions(+), 768 deletions(-)
 delete mode 100644 arch/x86/lib/iomap_copy_64.S

Comments

pr-tracker-bot@kernel.org May 18, 2024, 9:05 p.m. UTC | #1
The pull request you sent on Fri, 17 May 2024 16:34:32 -0300:

> git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/25f4874662fb0d43fc1d934dd7802b740ed2ab5f

Thank you!