* [GIT PULL] Please pull RDMA subsystem changes
@ 2020-02-15 21:32 Jason Gunthorpe
2020-02-16 1:20 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2020-02-15 21:32 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 3656 bytes --]
Hi Linus,
First rc pull request
Not too much going on here, though there are about 4 fixes related to
stuff merged during the last merge window.
We also see the return of a syzkaller instance with access to RDMA
devices, and a few bugs detected by that squished.
Regards,
Jason
The following changes since commit bb6d3fb354c5ee8d6bde2d576eb7220ea09862b9:
Linux 5.6-rc1 (2020-02-09 16:08:48 -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 685eff513183d6d64a5f413531e683d23b8b198b:
IB/mlx5: Use div64_u64 for num_var_hw_entries calculation (2020-02-14 15:21:52 -0400)
----------------------------------------------------------------
First RDMA 5.6 pull request
Various crashers and a few regression fixes for things in the 5.6 merge
window:
- Fix three crashers and a memory memory leak for HFI1
- Several bugs found by syzkaller
- A bug fix for the recent QP counters feature on older mlx5 HW
- Locking inversion in cxgb4
- Unnecessary WARN_ON in siw
- A umad crasher regression during unload, from a bug fix for something
else
- Bugs introduced in the merge window
* Missed list_del in uverbs file rework, core and mlx5 devx
* Unexpected integer math truncation in the mlx5 VAR patches
* Compilation bug fix for the VAR patches on 32 bit
----------------------------------------------------------------
Avihai Horon (1):
RDMA/core: Fix invalid memory access in spec_filter_size
Jason Gunthorpe (1):
IB/mlx5: Use div64_u64 for num_var_hw_entries calculation
Kaike Wan (2):
IB/hfi1: Acquire lock to release TID entries when user file is closed
IB/rdmavt: Reset all QPs when the device is shut down
Kamal Heib (1):
RDMA/hfi1: Fix memory leak in _dev_comp_vect_mappings_create
Krishnamraju Eraparaju (2):
RDMA/iw_cxgb4: initiate CLOSE when entering TERM
RDMA/siw: Remove unwanted WARN_ON in siw_cm_llp_data_ready()
Leon Romanovsky (2):
RDMA/mlx5: Prevent overflow in mmap offset calculations
RDMA/core: Fix protection fault in get_pkey_idx_qp_list
Mark Zhang (1):
IB/mlx5: Return failure when rts2rts_qp_counters_set_id is not supported
Michael Guralnik (1):
RDMA/core: Add missing list deletion on freeing event queue
Mike Marciniszyn (1):
IB/hfi1: Close window for pq and request coliding
Yishai Hadas (1):
RDMA/mlx5: Fix async events cleanup flows
Yonatan Cohen (1):
IB/umad: Fix kernel crash while unloading ib_umad
Zhu Yanjun (1):
RDMA/rxe: Fix soft lockup problem due to using tasklets in softirq
drivers/infiniband/core/security.c | 24 ++++-----
drivers/infiniband/core/user_mad.c | 5 +-
drivers/infiniband/core/uverbs_cmd.c | 15 +++---
drivers/infiniband/core/uverbs_std_types.c | 1 +
drivers/infiniband/hw/cxgb4/cm.c | 4 ++
drivers/infiniband/hw/cxgb4/qp.c | 4 +-
drivers/infiniband/hw/hfi1/affinity.c | 2 +
drivers/infiniband/hw/hfi1/file_ops.c | 52 +++++++++++-------
drivers/infiniband/hw/hfi1/hfi.h | 5 +-
drivers/infiniband/hw/hfi1/user_exp_rcv.c | 5 +-
drivers/infiniband/hw/hfi1/user_sdma.c | 17 ++++--
drivers/infiniband/hw/mlx5/devx.c | 51 ++++++++++--------
drivers/infiniband/hw/mlx5/main.c | 6 +--
drivers/infiniband/hw/mlx5/qp.c | 9 ++--
drivers/infiniband/sw/rdmavt/qp.c | 84 ++++++++++++++++++------------
drivers/infiniband/sw/rxe/rxe_comp.c | 8 +--
drivers/infiniband/sw/siw/siw_cm.c | 5 +-
17 files changed, 172 insertions(+), 125 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2021-04-08 19:51 Jason Gunthorpe
2021-04-08 23:40 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2021-04-08 19:51 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1866 bytes --]
Hi Linus,
Nothing very exciting here, just a few small bug fixes. No red flags
for this release have shown up.
Thanks,
Jason
The following changes since commit a5e13c6df0e41702d2b2c77c8ad41677ebb065b3:
Linux 5.12-rc5 (2021-03-28 15:48:16 -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 d1c803a9ccd7bd3aff5e989ccfb39ed3b799b975:
RDMA/addr: Be strict with gid size (2021-04-08 16:14:56 -0300)
----------------------------------------------------------------
RDMA 5.12 third rc pull request
Several bug fixes:
- Regression from the last pull request in cxgb4 related to the ipv6 fixes
- KASAN crasher in rtrs
- oops in hfi1 related to a buggy BIOS
- Userspace could oops qedr's XRC support
- Uninitialized memory when parsing a LS_NLA_TYPE_DGID netlink message
----------------------------------------------------------------
Kamal Heib (1):
RDMA/qedr: Fix kernel panic when trying to access recv_cq
Leon Romanovsky (1):
RDMA/addr: Be strict with gid size
Md Haris Iqbal (1):
RDMA/rtrs-clt: Close rtrs client conn before destroying rtrs clt session files
Mike Marciniszyn (1):
IB/hfi1: Fix probe time panic when AIP is enabled with a buggy BIOS
Potnuri Bharat Teja (1):
RDMA/cxgb4: check for ipv6 address properly while destroying listener
drivers/infiniband/core/addr.c | 4 +++-
drivers/infiniband/hw/cxgb4/cm.c | 3 ++-
drivers/infiniband/hw/hfi1/affinity.c | 21 +++++----------------
drivers/infiniband/hw/hfi1/hfi.h | 1 +
drivers/infiniband/hw/hfi1/init.c | 10 +++++++++-
drivers/infiniband/hw/hfi1/netdev_rx.c | 3 +--
drivers/infiniband/hw/qedr/verbs.c | 3 ++-
drivers/infiniband/ulp/rtrs/rtrs-clt.c | 2 +-
8 files changed, 24 insertions(+), 23 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2021-03-25 18:04 Jason Gunthorpe
2021-03-25 19:13 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2021-03-25 18:04 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1286 bytes --]
Hi Linus,
Not much going on, just some small bug fixes
Thanks,
Jason
The following changes since commit a38fd8748464831584a19438cbb3082b5a2dab15:
Linux 5.12-rc2 (2021-03-05 17:33:41 -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 3408be145a5d6418ff955fe5badde652be90e700:
RDMA/cxgb4: Fix adapter LE hash errors while destroying ipv6 listening server (2021-03-25 10:25:58 -0300)
----------------------------------------------------------------
RDMA 5.12 second rc pull request
- Typo causing a regression in mlx5 devx
- Regression in the recent hns rework causing the HW to get out of sync
- Longstanding cxgb4 adaptor crash when destroying cm ids
----------------------------------------------------------------
Lang Cheng (1):
RDMA/hns: Fix bug during CMDQ initialization
Mark Zhang (1):
RDMA/mlx5: Fix typo in destroy_mkey inbox
Potnuri Bharat Teja (1):
RDMA/cxgb4: Fix adapter LE hash errors while destroying ipv6 listening server
drivers/infiniband/hw/cxgb4/cm.c | 4 ++--
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 4 +++-
drivers/infiniband/hw/mlx5/devx.c | 2 +-
3 files changed, 6 insertions(+), 4 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2021-03-05 23:35 Jason Gunthorpe
2021-03-06 1:35 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2021-03-05 23:35 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1992 bytes --]
Hi Linus,
Nothing special here, though Bob's regression fixes for rxe would have
made it before the rc cycle had there not been such strong winter
weather!
Thanks,
Jason
The following changes since commit fe07bfda2fb9cdef8a4d4008a409bb02f35f1bd8:
Linux 5.12-rc1 (2021-02-28 16:05:19 -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 545c4ab463c2224557e56b2609f88ed5be265405:
RDMA/rxe: Fix errant WARN_ONCE in rxe_completer() (2021-03-05 14:15:22 -0400)
----------------------------------------------------------------
RDMA 5.12 first rc pull request
- Fix corner cases in the rxe reference counting cleanup that are causing
regressions in blktests for SRP
- Two kdoc fixes so W=1 is clean
- Missing error return in error unwind for mlx5
- Wrong lock type nesting in IB CM
----------------------------------------------------------------
Bob Pearson (3):
RDMA/rxe: Fix missed IB reference counting in loopback
RDMA/rxe: Fix extra deref in rxe_rcv_mcast_pkt()
RDMA/rxe: Fix errant WARN_ONCE in rxe_completer()
Julian Braha (1):
RDMA/rxe: Fix missing kconfig dependency on CRYPTO
Leon Romanovsky (2):
RDMA/mlx5: Set correct kernel-doc identifier
RDMA/uverbs: Fix kernel-doc warning of _uverbs_alloc
Saeed Mahameed (1):
RDMA/cm: Fix IRQ restore in ib_send_cm_sidr_rep
YueHaibing (1):
IB/mlx5: Add missing error code
drivers/infiniband/core/cm.c | 5 +--
drivers/infiniband/core/uverbs_ioctl.c | 2 +-
drivers/infiniband/hw/mlx5/devx.c | 4 ++-
drivers/infiniband/hw/mlx5/odp.c | 2 +-
drivers/infiniband/sw/rxe/Kconfig | 1 +
drivers/infiniband/sw/rxe/rxe_comp.c | 55 +++++++++++++------------------
drivers/infiniband/sw/rxe/rxe_net.c | 10 +++++-
drivers/infiniband/sw/rxe/rxe_recv.c | 59 ++++++++++++++++++++--------------
8 files changed, 76 insertions(+), 62 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2021-02-22 14:59 Jason Gunthorpe
2021-02-22 18:37 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2021-02-22 14:59 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 24202 bytes --]
Hi Linus,
These are the proposed RDMA patches for 5.12.
This is quite a small cycle, if not for Lee's 70 patches cleaning the kdocs it
would be well below typical for patch count.
Most of the interesting work here was in the HNS and rxe drivers which got
fairly major internal changes.
As before there was a slightly tricky conflict with the rdma for-rc
tree, which I've resolved by merging in v5.11 at the top.
The following changes since commit a6a217dddcd544f6b75f0e2a60b6e84c1d494b7e:
net/mlx5: Add new timestamp mode bits (2021-02-16 16:10:39 +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 7289e26f395b583f68b676d4d12a0971e4f6f65c:
Merge tag 'v5.11' into rdma.git for-next (2021-02-18 11:19:29 -0400)
----------------------------------------------------------------
RDMA 5.12 merge window pull request
- Driver updates and bug fixes: siw, hns, bnxt_re, mlx5, efa
- Significant rework in rxe to get it ready to have XRC support added
- Several rts bug fixes
- Big series to get to 'make W=1' cleanness, primarily updating kdocs
- Support for creating a RDMA MR from a DMABUF fd to allow PCI peer to
peer transfers to GPU VRAM
- Device disassociation now works properly with umad
- Work to support more than 255 ports on a RDMA device
- Further support for the new HNS HIP09 hardware
- Coding style cleanups: comma to semicolon, unneded semicolon/blank
lines, remove 'h' printk format, don't check for NULL before kfree,
use true/false for bool.
----------------------------------------------------------------
Aharon Landau (1):
RDMA/mlx5: Fail QP creation if the device can not support the CQE TS
Avihai Horon (1):
RDMA/ucma: Fix use-after-free bug in ucma_create_uevent
Bernard Metzler (1):
RDMA/siw: Fix handling of zero-sized Read and Receive Queues.
Bob Pearson (21):
RDMA/rxe: Remove unneeded RXE_POOL_ATOMIC flag
RDMA/rxe: Let pools support both keys and indices
RDMA/rxe: Add elem_offset field to rxe_type_info
RDMA/rxe: Make pool lookup and alloc APIs type safe
RDMA/rxe: Make add/drop key/index APIs type safe
RDMA/rxe: Add unlocked versions of pool APIs
RDMA/rxe: Fix race in rxe_mcast.c
RDMA/rxe: Fix bug in rxe_alloc()
RDMA/rxe: Fix misleading comments and names
RDMA/rxe: Remove RXE_POOL_ATOMIC
RDMA/rxe: Remove references to ib_device and pool
RDMA/rxe: Remove unneeded pool->state
RDMA/rxe: Replace missing rxe_pool_get_index_locked
RDMA/rxe: Fix coding error in rxe_recv.c
RDMA/rxe: Remove useless code in rxe_recv.c
RDMA/rxe: Fix coding error in rxe_rcv_mcast_pkt
RDMA/rxe: Correct skb on loopback path
RDMA/rxe: Fix FIXME in rxe_udp_encap_recv()
RDMA/rxe: Fix minor coding style issues
RDMA/rxe: Cleanup init_send_wqe
RDMA/rxe: Remove unused pkt->offset
Christoph Lameter (1):
RDMA/ipoib: Remove racy Subnet Manager sendonly join checks
Gal Pressman (5):
RDMA/efa: Remove redundant NULL pointer check of CQE
RDMA/efa: Remove duplication of upper/lower_32_bits
RDMA/efa: Remove unnecessary indentation in defs comments
RDMA/efa: Remove unused 'select' field from get/set feature command descriptor
RDMA/efa: Remove unused syndrome enum values
Gioh Kim (2):
RDMA/rtrs-srv: fix memory leak by missing kobject free
RDMA/rtrs-srv-sysfs: fix missing put_device
Guoqing Jiang (8):
RDMA/rtrs-srv: Jump to dereg_mr label if allocate iu fails
RDMA/rtrs: Call kobject_put in the failure path
RDMA/rtrs-clt: Consolidate rtrs_clt_destroy_sysfs_root_{folder,files}
RDMA/rtrs-clt: Kill wait_for_inflight_permits
RDMA/rtrs-clt: Remove unnecessary 'goto out'
RDMA/rtrs-clt: Kill rtrs_clt_change_state
RDMA/rtrs-clt: Rename __rtrs_clt_change_state to rtrs_clt_change_state
RDMA/rtrs-clt: Refactor the failure cases in alloc_clt
Jack Wang (12):
RDMA/rtrs: Extend ibtrs_cq_qp_create
RDMA/rtrs-srv: Release lock before call into close_sess
RDMA/rtrs-srv: Use sysfs_remove_file_self for disconnect
RDMA/rtrs-clt: Set mininum limit when create QP
RDMA/rtrs-srv: Fix missing wr_cqe
RDMA/rtrs: Do not signal for heatbeat
RDMA/rtrs-clt: Use bitmask to check sess->flags
RDMA/rtrs-srv: Do not signal REG_MR
RDMA/rtrs-srv: Init wr_cnt as 1
RDMA/rtrs: Fix KASAN: stack-out-of-bounds bug
RDMA/rtrs-srv: Fix stack-out-of-bounds
RDMA/rtrs-srv: Do not pass a valid pointer to PTR_ERR()
Jason Gunthorpe (3):
Merge branch 'devx_set_get' into rdma.git for-next
Merge branch 'mlx5_timestamp' into rdma.git for-next
Merge tag 'v5.11' into rdma.git for-next
Jianxin Xiong (4):
RDMA/umem: Support importing dma-buf as user memory region
RDMA/core: Add device method for registering dma-buf based memory region
RDMA/uverbs: Add uverbs command for dma-buf based MR registration
RDMA/mlx5: Support dma-buf based userspace memory region
Jiapeng Chong (1):
RDMA/qedr: Use true and false for bool variable
Kamal Heib (1):
RDMA/siw: Fix calculation of tx_valid_cpus size
Lang Cheng (12):
RDMA/hns: Optimize the MR registration process
RDMA/hns: Use new interface to set MPT related fields
RDMA/hns: Allocate one more recv SGE for HIP08
RDMA/hns: Use new interfaces to write SRQC
RDMA/hns: Replace wmb&__raw_writeq with writeq
RDMA/hns: Move HIP06 related definitions into hns_roce_hw_v1.h
RDMA/hns: Avoid unnecessary memset on WQEs in post_send
RDMA/hns: Remove unused member and variable of CMDQ
RDMA/hns: Fixes missing error code of CMDQ
RDMA/hns: Remove redundant operations on CMDQ
RDMA/hns: Adjust fields and variables about CMDQ tail/head
RDMA/hns: Refactor process of posting CMDQ
Lee Jones (70):
RDMA/hw: i40iw_hmc: Fix misspellings of '*idx' args
RDMA/core: device: Fix formatting in worthy kernel-doc header and demote another
RDMA/hw/i40iw/i40iw_ctrl: Fix a bunch of misspellings and formatting issues
RDMA/hw/i40iw/i40iw_cm: Fix a bunch of function documentation issues
RDMA/core/cache: Fix some misspellings, missing and superfluous param descriptions
RDMA/hw/i40iw/i40iw_hw: Provide description for 'ipv4', remove 'user_pri' and fix 'iwcq'
RDMA/hw/i40iw/i40iw_main: Rectify some kernel-doc misdemeanours
RDMA/core/roce_gid_mgmt: Fix misnaming of 'rdma_roce_rescan_device()'s param 'ib_dev'
RDMA/hw/i40iw/i40iw_pble: Provide description for 'dev' and fix formatting issues
RDMA/hw/i40iw/i40iw_puda: Fix some misspellings and provide missing descriptions
RDMA/core/multicast: Provide description for 'ib_init_ah_from_mcmember()'s 'rec' param
RDMA/core/sa_query: Demote non-conformant kernel-doc header
RDMA/hw/i40iw/i40iw_uk: Clean-up some function documentation headers
RDMA/hw/i40iw/i40iw_virtchnl: Fix a bunch of kernel-doc issues
RDMA/hw/i40iw/i40iw_utils: Fix some misspellings and missing param descriptions
RDMA/core/restrack: Fix kernel-doc formatting issue
RDMA/hw/i40iw/i40iw_verbs: Fix worthy function headers and demote some others
RDMA/core/counters: Demote non-conformant kernel-doc headers
RDMA/core/iwpm_util: Fix some param description misspellings
RDMA/core/iwpm_msg: Add proper descriptions for 'skb' param
RDMA/hw/mlx5/odp: Fix formatting and add missing descriptions in 'pagefault_data_segments()'
RDMA/hw/mlx5/qp: Demote non-conformant kernel-doc header
RDMA/hw/efa/efa_com: Stop using param description notation for non-params
RDMA/hw/hns/hns_roce_hw_v1: Fix doc-rot issue relating to 'rereset'
RDMA/hw/hns/hns_roce_mr: Add missing description for 'hr_dev' param
RDMA/hw/qib/qib_driver: Fix misspelling in 'ppd's param description
RDMA/sw/rdmavt/vt: Fix formatting issue and update description for 'context'
RDMA/hw/qib/qib_eeprom: Fix misspelling of 'buff' in 'qib_eeprom_{read,write}()'
RDMA/hw/qib/qib_mad: Fix a few misspellings and supply missing descriptions
RDMA/hw/qib/qib_intr: Fix a bunch of formatting issues
RDMA/hw/qib/qib_pcie: Demote obvious kernel-doc abuse
RDMA/hw/qib/qib_qp: Fix some issues in worthy kernel-doc headers and demote another
RDMA/sw/rdmavt/cq: Demote hardly complete kernel-doc header
RDMA/hw/qib/qib_rc: Fix some worthy kernel-docs demote hardly complete one
RDMA/hw/hfi1/chip: Fix a bunch of kernel-doc formatting and spelling issues
RDMA/hw/qib/qib_twsi: Provide description for missing param 'last'
RDMA/hw/qib/qib_tx: Provide description for 'qib_chg_pioavailkernel()'s 'rcd' param
RDMA/hw/qib/qib_uc: Provide description for missing 'flags' param
RDMA/hw/qib/qib_ud: Provide description for 'qib_make_ud_req's 'flags' param
RDMA/sw/rdmavt/mad: Fix 'rvt_process_mad()'s documentation header
RDMA/hw/qib/qib_user_pages: Demote non-conformant documentation header
RDMA/sw/rdmavt/mcast: Demote incomplete kernel-doc header
RDMA/hw/hfi1/exp_rcv: Fix some kernel-doc formatting issues
RDMA/hw/qib/qib_iba7220: Fix some kernel-doc issues
RDMA/hw/hfi1/file_ops: Fix' manage_rcvq()'s 'arg' param
RDMA/sw/rdmavt/mr: Fix some issues related to formatting and missing descriptions
RDMA/hw/qib/qib_iba7322: Fix a bunch of copy/paste issues
RDMA/hw/qib/qib_verbs: Repair some formatting problems
RDMA/hw/qib/qib_iba6120: Fix some repeated (copy/paste) kernel-doc issues
RDMA/sw/rdmavt/qp: Fix a bunch of kernel-doc misdemeanours
RDMA/hw/hfi1/intr: Fix some kernel-doc formatting issues
RDMA/sw/rdmavt/srq: Fix a couple of kernel-doc issues
RDMA/hw/hfi1/iowait: Demote half-completed kernel-doc and fix formatting issue in another
RDMA/hw/hfi1/mad: Demote half-completed kernel-doc header fix another
RDMA/hw/hfi1/msix: Add description for 'name' and remove superfluous param 'idx'
RDMA/sw/rdmavt/mad: Fix misspelling of 'rvt_process_mad()'s 'in_mad_size' param
RDMA/sw/rdmavt/qp: Fix kernel-doc formatting problem
RDMA/hw/hfi1/netdev_rx: Fix misdocumentation of the 'start_id' param
RDMA/hw/hfi1/pcie: Demote kernel-doc abuses
RDMA/hw/hfi1/pio_copy: Provide entry for 'pio_copy()'s 'dd' param
RDMA/hw/hfi1/rc: Fix a few function documentation issues
RDMA/hw/hfi1/qp: Fix some formatting issues and demote kernel-doc abuse
RDMA/hw/hfi1/ruc: Fix a small formatting and description issues
RDMA/hw/hfi1/sdma: Fix misnaming of 'sdma_send_txlist()'s 'count_out' param
RDMA/hw/hfi1/tid_rdma: Fix a plethora of kernel-doc issues
RDMA/hw/hfi1/uc: Fix a little doc-rot
RDMA/hw/hfi1/ud: Fix a little more doc-rot
RDMA/hw/hfi1/user_exp_rcv: Demote half-documented and kernel-doc abuses
RDMA/hw/hfi1/verbs: Demote non-conforming doc header and fix a misspelling
RDMA/hw/hfi1/rc: Demote incorrectly populated kernel-doc header
Leon Romanovsky (1):
RDMA/core: Fix kernel doc warnings for ib_port_immutable_read()
Lijun Ou (1):
RDMA/hns: Disable RQ inline by default
Maor Gottlieb (1):
tools/testing/scatterlist: Fix overflow of max segment size
Mark Bloch (1):
RDMA/mlx5: Allow creating all QPs even when non RDMA profile is used
Max Gurtovoy (7):
IB/isert: Remove unneeded new lines
IB/isert: Remove unneeded semicolon
IB/isert: Simplify signature cap check
IB/iser: Remove unneeded semicolons
IB/iser: Protect iscsi_max_lun module param using callback
IB/iser: Enforce iser_max_sectors to be greater than 0
IB/iser: Simplify prot_caps setting
Md Haris Iqbal (1):
RDMA/rtrs: Only allow addition of path to an already established session
Nicolas Morey-Chaisemartin (1):
RDMA/srp: Fix support for unpopulated and unbalanced NUMA nodes
Parav Pandit (12):
IB/mlx5: Add mutex destroy call to cap_mask_mutex mutex
IB/mlx5: Make function static
IB/mlx5: Return appropriate error code instead of ENOMEM
IB/cm: Avoid a loop when device has 255 ports
IB/mlx4: Use port iterator and validation APIs
IB/core: Use valid port number to check link layer
IB/mlx5: Support default partition key for representor port
IB/mlx5: Move mlx5_port_caps from mlx5_core_dev to mlx5_ib_dev
IB/mlx5: Avoid calling query device for reading pkey table length
IB/mlx5: Improve query port for representor port
RDMA/core: Introduce and use API to read port immutable data
IB/mlx5: Use rdma_for_each_port for port iteration
Patrisious Haddad (2):
RDMA/nldev: Return an error message on failure to turn auto mode
RDMA/mlx5: Support 400Gbps IB rate in mlx5 driver
Sebastian Andrzej Siewior (1):
RDMA/qedr: Remove in_irq() usage from debug output
Selvin Xavier (2):
RDMA/bnxt_re: Code refactor while populating user MRs
RDMA/bnxt_re: Allow bigger MR creation
Shay Drory (2):
IB/umad: Return EIO in case of when device disassociated
IB/umad: Return EPOLLERR in case of when device disassociated
Tal Gilboa (1):
RDMA/mlx5: Allow CQ creation without attached EQs
Tom Rix (2):
RDMA/hns: remove h from printk format specifier
RDMA/hfi1: remove h from printk format specifier
Weihang Li (3):
RDMA/pvrdma: Replace spin_lock_irqsave with spin_lock in hard IRQ
RDMA/hns: Avoid filling sgid index when modifying QP to RTR
RDMA/hns: Fix type of sq_signal_bits
Wenpeng Liang (8):
RDMA/hns: Bugfix for checking whether the srq is full when post wr
RDMA/hns: Force srq_limit to 0 when creating SRQ
RDMA/hns: Fixed wrong judgments in the goto branch
RDMA/hns: Remove the reserved WQE of SRQ
RDMA/hns: Refactor hns_roce_create_srq()
RDMA/hns: Refactor code about SRQ Context
RDMA/hns: Refactor hns_roce_v2_post_srq_recv()
RDMA/hns: Add verification of QP type when post_recv
Xi Wang (4):
RDMA/hns: Refactor the MTR creation flow
RDMA/hns: Refactor post recv flow
RDMA/hns: Clear remaining unused sges when post_recv
RDMA/hns: Add mapped page count checking for MTR
Xiao Yang (2):
RDMA/rxe: Add check for supported QP types
RDMA/uverbs: Don't set rcq for a QP if qp_type is IB_QPT_XRC_INI
Xinhao Liu (2):
RDMA/hns: Remove some magic numbers
RDMA/hns: Delete redundant judgment when preparing descriptors
Yangyang Li (1):
RDMA/hns: Create CQ with selected CQN for bank load balance
Yishai Hadas (3):
RDMA/mlx5: Use the correct obj_id upon DEVX TIR creation
RDMA/mlx5: Use strict get/set operations for obj_id
RDMA/mlx5: Cleanup the synchronize_srcu() from the ODP flow
Yixian Liu (1):
RDMA/hns: Remove unnecessary wrap around for EQ's consumer index
Yixing Liu (3):
RDMA/hns: Add support of direct wqe
RDMA/hns: Skip qp_flow_control_init() for HIP09
RDMA/hns: Adjust definition of FRMR fields
Zheng Yongjun (3):
RDMA: Convert comma to semicolon
RDMA/cma: Delete useless kfree code
RDMA: Use kzalloc for allocating only one thing
drivers/infiniband/Kconfig | 1 +
drivers/infiniband/core/Makefile | 2 +-
drivers/infiniband/core/cache.c | 9 +-
drivers/infiniband/core/cm.c | 8 +-
drivers/infiniband/core/cma.c | 81 +--
drivers/infiniband/core/cma_configfs.c | 12 +-
drivers/infiniband/core/counters.c | 78 +--
drivers/infiniband/core/device.c | 23 +-
drivers/infiniband/core/iwpm_msg.c | 16 +-
drivers/infiniband/core/iwpm_util.c | 6 +-
drivers/infiniband/core/multicast.c | 1 +
drivers/infiniband/core/nldev.c | 4 +-
drivers/infiniband/core/restrack.c | 4 +-
drivers/infiniband/core/roce_gid_mgmt.c | 2 +-
drivers/infiniband/core/rw.c | 2 +-
drivers/infiniband/core/sa_query.c | 26 +-
drivers/infiniband/core/umem.c | 3 +
drivers/infiniband/core/umem_dmabuf.c | 174 ++++++
drivers/infiniband/core/user_mad.c | 17 +-
drivers/infiniband/core/uverbs_cmd.c | 2 +-
drivers/infiniband/core/uverbs_std_types_mr.c | 117 +++-
drivers/infiniband/core/verbs.c | 4 +-
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 49 +-
drivers/infiniband/hw/bnxt_re/qplib_sp.c | 29 +-
drivers/infiniband/hw/bnxt_re/qplib_sp.h | 2 +-
drivers/infiniband/hw/cxgb4/restrack.c | 2 +-
drivers/infiniband/hw/efa/efa_admin_cmds_defs.h | 25 +-
drivers/infiniband/hw/efa/efa_admin_defs.h | 4 +-
drivers/infiniband/hw/efa/efa_com.c | 33 +-
drivers/infiniband/hw/hfi1/chip.c | 46 +-
drivers/infiniband/hw/hfi1/exp_rcv.c | 8 +-
drivers/infiniband/hw/hfi1/file_ops.c | 2 +-
drivers/infiniband/hw/hfi1/intr.c | 16 +-
drivers/infiniband/hw/hfi1/iowait.c | 4 +-
drivers/infiniband/hw/hfi1/mad.c | 4 +-
drivers/infiniband/hw/hfi1/msix.c | 2 +-
drivers/infiniband/hw/hfi1/netdev_rx.c | 2 +-
drivers/infiniband/hw/hfi1/pcie.c | 4 +-
drivers/infiniband/hw/hfi1/pio_copy.c | 1 +
drivers/infiniband/hw/hfi1/qp.c | 14 +-
drivers/infiniband/hw/hfi1/qsfp.c | 4 +-
drivers/infiniband/hw/hfi1/rc.c | 7 +-
drivers/infiniband/hw/hfi1/ruc.c | 5 +-
drivers/infiniband/hw/hfi1/sdma.c | 12 +-
drivers/infiniband/hw/hfi1/tid_rdma.c | 47 +-
drivers/infiniband/hw/hfi1/uc.c | 8 +-
drivers/infiniband/hw/hfi1/ud.c | 8 +-
drivers/infiniband/hw/hfi1/user_exp_rcv.c | 10 +-
drivers/infiniband/hw/hfi1/verbs.c | 6 +-
drivers/infiniband/hw/hns/hns_roce_common.h | 26 +-
drivers/infiniband/hw/hns/hns_roce_cq.c | 116 +++-
drivers/infiniband/hw/hns/hns_roce_device.h | 82 +--
drivers/infiniband/hw/hns/hns_roce_hem.c | 9 +-
drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 33 +-
drivers/infiniband/hw/hns/hns_roce_hw_v1.h | 43 ++
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 791 ++++++++++++------------
drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 141 ++++-
drivers/infiniband/hw/hns/hns_roce_main.c | 30 +-
drivers/infiniband/hw/hns/hns_roce_mr.c | 458 ++++++--------
drivers/infiniband/hw/hns/hns_roce_qp.c | 38 +-
drivers/infiniband/hw/hns/hns_roce_srq.c | 331 +++++-----
drivers/infiniband/hw/i40iw/i40iw_cm.c | 21 +-
drivers/infiniband/hw/i40iw/i40iw_ctrl.c | 18 +-
drivers/infiniband/hw/i40iw/i40iw_hmc.c | 4 +-
drivers/infiniband/hw/i40iw/i40iw_hw.c | 4 +-
drivers/infiniband/hw/i40iw/i40iw_main.c | 13 +-
drivers/infiniband/hw/i40iw/i40iw_pble.c | 5 +-
drivers/infiniband/hw/i40iw/i40iw_puda.c | 13 +-
drivers/infiniband/hw/i40iw/i40iw_uk.c | 5 +-
drivers/infiniband/hw/i40iw/i40iw_utils.c | 22 +-
drivers/infiniband/hw/i40iw/i40iw_verbs.c | 19 +-
drivers/infiniband/hw/i40iw/i40iw_virtchnl.c | 19 +-
drivers/infiniband/hw/mlx4/main.c | 2 +-
drivers/infiniband/hw/mlx4/sysfs.c | 4 +-
drivers/infiniband/hw/mlx5/devx.c | 227 +++++--
drivers/infiniband/hw/mlx5/mad.c | 14 +-
drivers/infiniband/hw/mlx5/main.c | 147 ++---
drivers/infiniband/hw/mlx5/mlx5_ib.h | 60 +-
drivers/infiniband/hw/mlx5/mr.c | 137 +++-
drivers/infiniband/hw/mlx5/odp.c | 325 +++++-----
drivers/infiniband/hw/mlx5/qp.c | 160 ++++-
drivers/infiniband/hw/mlx5/wr.c | 2 +-
drivers/infiniband/hw/qedr/qedr.h | 8 +-
drivers/infiniband/hw/qedr/qedr_roce_cm.c | 4 +-
drivers/infiniband/hw/qib/qib_driver.c | 2 +-
drivers/infiniband/hw/qib/qib_eeprom.c | 4 +-
drivers/infiniband/hw/qib/qib_iba6120.c | 18 +-
drivers/infiniband/hw/qib/qib_iba7220.c | 16 +-
drivers/infiniband/hw/qib/qib_iba7322.c | 14 +-
drivers/infiniband/hw/qib/qib_intr.c | 16 +-
drivers/infiniband/hw/qib/qib_mad.c | 10 +-
drivers/infiniband/hw/qib/qib_pcie.c | 2 +-
drivers/infiniband/hw/qib/qib_qp.c | 12 +-
drivers/infiniband/hw/qib/qib_rc.c | 5 +-
drivers/infiniband/hw/qib/qib_twsi.c | 1 +
drivers/infiniband/hw/qib/qib_tx.c | 1 +
drivers/infiniband/hw/qib/qib_uc.c | 1 +
drivers/infiniband/hw/qib/qib_ud.c | 1 +
drivers/infiniband/hw/qib/qib_user_pages.c | 2 +-
drivers/infiniband/hw/qib/qib_verbs.c | 6 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 5 +-
drivers/infiniband/sw/rdmavt/cq.c | 2 +-
drivers/infiniband/sw/rdmavt/mad.c | 7 +-
drivers/infiniband/sw/rdmavt/mcast.c | 2 +-
drivers/infiniband/sw/rdmavt/mr.c | 21 +-
drivers/infiniband/sw/rdmavt/qp.c | 34 +-
drivers/infiniband/sw/rdmavt/srq.c | 7 +-
drivers/infiniband/sw/rdmavt/vt.c | 2 +-
drivers/infiniband/sw/rxe/rxe_comp.c | 49 +-
drivers/infiniband/sw/rxe/rxe_hdr.h | 178 +++---
drivers/infiniband/sw/rxe/rxe_mcast.c | 64 +-
drivers/infiniband/sw/rxe/rxe_net.c | 24 +-
drivers/infiniband/sw/rxe/rxe_pool.c | 300 +++++----
drivers/infiniband/sw/rxe/rxe_pool.h | 103 ++-
drivers/infiniband/sw/rxe/rxe_qp.c | 11 +
drivers/infiniband/sw/rxe/rxe_recv.c | 40 +-
drivers/infiniband/sw/rxe/rxe_req.c | 1 -
drivers/infiniband/sw/rxe/rxe_resp.c | 6 +-
drivers/infiniband/sw/rxe/rxe_verbs.c | 68 +-
drivers/infiniband/sw/siw/siw.h | 2 +-
drivers/infiniband/sw/siw/siw_main.c | 4 +-
drivers/infiniband/sw/siw/siw_qp.c | 271 ++++----
drivers/infiniband/sw/siw/siw_qp_rx.c | 26 +-
drivers/infiniband/sw/siw/siw_qp_tx.c | 4 +-
drivers/infiniband/sw/siw/siw_verbs.c | 20 +-
drivers/infiniband/ulp/ipoib/ipoib.h | 1 -
drivers/infiniband/ulp/ipoib/ipoib_main.c | 2 -
drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 15 +-
drivers/infiniband/ulp/iser/iscsi_iser.c | 53 +-
drivers/infiniband/ulp/iser/iser_memory.c | 3 +-
drivers/infiniband/ulp/iser/iser_verbs.c | 2 +-
drivers/infiniband/ulp/isert/ib_isert.c | 10 +-
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c | 2 +-
drivers/infiniband/ulp/rtrs/rtrs-clt-sysfs.c | 11 +-
drivers/infiniband/ulp/rtrs/rtrs-clt.c | 127 ++--
drivers/infiniband/ulp/rtrs/rtrs-clt.h | 4 +-
drivers/infiniband/ulp/rtrs/rtrs-pri.h | 9 +-
drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c | 9 +-
drivers/infiniband/ulp/rtrs/rtrs-srv.c | 123 ++--
drivers/infiniband/ulp/rtrs/rtrs.c | 32 +-
drivers/infiniband/ulp/srp/ib_srp.c | 110 ++--
drivers/net/ethernet/mellanox/mlx5/core/mr.c | 1 +
include/linux/mlx5/driver.h | 10 +-
include/linux/mlx5/mlx5_ifc.h | 5 +-
include/rdma/ib_sa.h | 4 -
include/rdma/ib_umem.h | 48 +-
include/rdma/ib_verbs.h | 9 +-
include/rdma/rdma_counter.h | 3 +-
include/uapi/rdma/ib_user_ioctl_cmds.h | 14 +
tools/testing/scatterlist/main.c | 1 -
150 files changed, 3580 insertions(+), 2667 deletions(-)
(diffstat from tag for-linus-merged)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2021-01-28 14:46 Jason Gunthorpe
0 siblings, 0 replies; 149+ messages in thread
From: Jason Gunthorpe @ 2021-01-28 14:46 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 2340 bytes --]
Hi Linus,
Nothing very exciting here, more evidence that people are infrequently
testing areas, at least.
Thanks,
Jason
The following changes since commit 19c329f6808995b142b3966301f217c831e7cf31:
Linux 5.11-rc4 (2021-01-17 16:37:05 -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 f1b0a8ea9f12b8ade0dbe40dd57e4ffa9a30ed93:
Revert "RDMA/rxe: Remove VLAN code leftovers from RXE" (2021-01-20 13:29:28 -0400)
----------------------------------------------------------------
RDMA 5.11 second RC pull request
Several recent regressions and some bug fixes
- Typo corrupting the max_recv_sge for cxgb4
- Regression from re-using kernel enums as a HW AbI in vmw_pvrdma
- Sleeping inside a spinlock in hns
- Revert the attempt to fix devlink deadlocks as the fix is more buggy
- Typo in sysfs_emit_at conversions
- Revert the removal of VLAN support in rxe
----------------------------------------------------------------
Bryan Tan (1):
RDMA/vmw_pvrdma: Fix network_hdr_type reported in WC
Joe Perches (1):
RDMA/usnic: Fix misuse of sysfs_emit_at
Kamal Heib (1):
RDMA/cxgb4: Fix the reported max_recv_sge value
Martin Wilck (1):
Revert "RDMA/rxe: Remove VLAN code leftovers from RXE"
Parav Pandit (1):
Revert "RDMA/mlx5: Fix devlink deadlock on net namespace deletion"
Yangyang Li (1):
RDMA/hns: Use mutex instead of spinlock for ida allocation
drivers/infiniband/hw/cxgb4/qp.c | 2 +-
drivers/infiniband/hw/hns/hns_roce_device.h | 2 +-
drivers/infiniband/hw/hns/hns_roce_qp.c | 11 ++++++-----
drivers/infiniband/hw/mlx5/main.c | 6 ++----
drivers/infiniband/hw/usnic/usnic_ib_sysfs.c | 7 +++----
drivers/infiniband/hw/vmw_pvrdma/pvrdma.h | 14 ++++++++++++++
drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 2 +-
drivers/infiniband/sw/rxe/rxe_net.c | 6 ++++++
drivers/infiniband/sw/rxe/rxe_resp.c | 5 +++++
drivers/net/ethernet/mellanox/mlx5/core/lib/mlx5.h | 5 +++++
include/linux/mlx5/driver.h | 18 ------------------
include/uapi/rdma/vmw_pvrdma-abi.h | 7 +++++++
12 files changed, 51 insertions(+), 34 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2021-01-15 19:21 Jason Gunthorpe
2021-01-15 23:35 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2021-01-15 19:21 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 2281 bytes --]
Hi Linus,
Bit later for the first rc pull request than normal due to the
holidays, but a fairly modest set of bug fixes, nothing abnormal from
the merge window
The ucma patch is a bit on the larger side, but given the regression was
recently added I've opted to forward it to the rc stream.
Thanks,
Jason
The following changes since commit e71ba9452f0b5b2e8dc8aa5445198cd9214a6a62:
Linux 5.11-rc2 (2021-01-03 15:55:30 -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 7c7b3e5d9aeed31d35c5dab0bf9c0fd4c8923206:
RDMA/cma: Fix error flow in default_roce_mode_store (2021-01-14 12:53:13 -0400)
----------------------------------------------------------------
RDMA 5.11 first RC pull request
Several bug fixes.
- Fix a ucma memory leak introduced in v5.9 while fixing the Syzkaller
bugs
- Don't fail when the xarray wraps for user verbs objects
- User triggerable oops regression from the umem page size rework
- Error unwind bugs in usnic, ocrdma, mlx5 and cma
----------------------------------------------------------------
Aharon Landau (1):
RDMA/umem: Avoid undefined behavior of rounddown_pow_of_two()
Dinghao Liu (1):
RDMA/usnic: Fix memleak in find_free_vf_and_create_qp_grp
Jason Gunthorpe (1):
RDMA/ucma: Do not miss ctx destruction steps in some cases
Leon Romanovsky (1):
RDMA/restrack: Don't treat as an error allocation ID wrapping
Mark Bloch (1):
RDMA/mlx5: Fix wrong free of blue flame register on error
Neta Ostrovsky (1):
RDMA/cma: Fix error flow in default_roce_mode_store
Parav Pandit (1):
IB/mlx5: Fix error unwinding when set_has_smi_cap fails
Tom Rix (1):
RDMA/ocrdma: Fix use after free in ocrdma_dealloc_ucontext_pd()
drivers/infiniband/core/cma_configfs.c | 4 +-
drivers/infiniband/core/restrack.c | 1 +
drivers/infiniband/core/ucma.c | 135 ++++++++++++++-------------
drivers/infiniband/core/umem.c | 2 +-
drivers/infiniband/hw/mlx5/main.c | 4 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 2 +-
drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 3 +
7 files changed, 83 insertions(+), 68 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2020-12-16 17:57 Jason Gunthorpe
2020-12-16 21:51 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2020-12-16 17:57 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 21364 bytes --]
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 #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2020-12-10 15:50 Jason Gunthorpe
2020-12-10 19:11 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2020-12-10 15:50 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1437 bytes --]
Hi Linus,
A few fairly normal bug fixes late in the cycle, not seeing anything
worrysome for release here.
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 340b940ea0ed12d9adbb8f72dea17d516b2019e8:
RDMA/cm: Fix an attempt to use non-valid pointer when cleaning timewait (2020-12-09 15:51:35 -0400)
----------------------------------------------------------------
RDMA 5.10 fifth rc pull request
Two user triggerable crashers and a some EFA related regressions:
- Syzkaller found bug in CM
- Restore access to the GID table and fix modify_qp for EFA
- Crasher in qedr
----------------------------------------------------------------
Alok Prasad (1):
RDMA/qedr: iWARP invalid(zero) doorbell address fix
Gal Pressman (2):
RDMA/efa: Use the correct current and new states in modify QP
RDMA/core: Fix empty gid table for non IB/RoCE devices
Leon Romanovsky (1):
RDMA/cm: Fix an attempt to use non-valid pointer when cleaning timewait
drivers/infiniband/core/cache.c | 3 ---
drivers/infiniband/core/cm.c | 2 ++
drivers/infiniband/hw/efa/efa_verbs.c | 4 ++--
drivers/infiniband/hw/qedr/verbs.c | 9 +++++++++
4 files changed, 13 insertions(+), 5 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2020-11-27 14:00 Jason Gunthorpe
2020-11-27 21:21 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2020-11-27 14:00 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 2188 bytes --]
Hi Linus,
Two security issues and several small bug fixes. Things seem to have
stabilized for this release here.
The following changes since commit 418baf2c28f3473039f2f7377760bd8f6897ae18:
Linux 5.10-rc5 (2020-11-22 15:36:08 -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 17475e104dcb74217c282781817f8f52b46130d3:
RDMA/hns: Bugfix for memory window mtpt configuration (2020-11-26 10:57:32 -0400)
----------------------------------------------------------------
RDMA 5.10 fourth rc pull request
Two notable security issues and a collection of minor fixes:
- Significant out of bounds access security issue in i40iw
- Fix misuse of mmu notifiers in hfi1
- Several errors in the register map/usage in hns
- Missing error returns in mthca
----------------------------------------------------------------
Dennis Dalessandro (1):
IB/hfi1: Ensure correct mm is used at all times
Shiraz Saleem (1):
RDMA/i40iw: Address an mmap handler exploit in i40iw
Wenpeng Liang (2):
RDMA/hns: Fix wrong field of SRQ number the device supports
RDMA/hns: Fix retry_cnt and rnr_cnt when querying QP
Xiongfeng Wang (1):
IB/mthca: fix return value of error branch in mthca_init_cq()
Yixian Liu (1):
RDMA/hns: Bugfix for memory window mtpt configuration
drivers/infiniband/hw/hfi1/file_ops.c | 4 +-
drivers/infiniband/hw/hfi1/hfi.h | 2 +-
drivers/infiniband/hw/hfi1/mmu_rb.c | 68 +++++++++++++++---------------
drivers/infiniband/hw/hfi1/mmu_rb.h | 16 ++++++-
drivers/infiniband/hw/hfi1/user_exp_rcv.c | 12 ++++--
drivers/infiniband/hw/hfi1/user_exp_rcv.h | 6 +++
drivers/infiniband/hw/hfi1/user_sdma.c | 13 +++---
drivers/infiniband/hw/hfi1/user_sdma.h | 7 ++-
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 9 ++--
drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 2 +-
drivers/infiniband/hw/i40iw/i40iw_main.c | 5 ---
drivers/infiniband/hw/i40iw/i40iw_verbs.c | 37 +++-------------
drivers/infiniband/hw/mthca/mthca_cq.c | 10 +++--
13 files changed, 98 insertions(+), 93 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2020-11-19 19:29 Jason Gunthorpe
2020-11-19 23:00 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2020-11-19 19:29 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1897 bytes --]
Hi Linus,
The last two weeks have been quiet here, just the usual smattering of
long standing bug fixes.
The following changes since commit f8394f232b1eab649ce2df5c5f15b0e528c92091:
Linux 5.10-rc3 (2020-11-08 16:10:16 -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 ee415d73dcc24caef7f6bbf292dcc365613d2188:
tools/testing/scatterlist: Fix test to compile and run (2020-11-17 20:02:20 -0400)
----------------------------------------------------------------
RDMA 5.10 third rc pull request
A collection of error case bug fixes
- Improper nesting of spinlock types in cm
- Missing error codes and kfree()
- Ensure dma_virt_ops users have the right kconfig symbols to work
properly
- Compilation failure of tools/testing
----------------------------------------------------------------
Christoph Hellwig (1):
RMDA/sw: Don't allow drivers using dma_virt_ops on highmem configs
Jason Gunthorpe (1):
RDMA/cm: Make the local_id_table xarray non-irq
Maor Gottlieb (1):
tools/testing/scatterlist: Fix test to compile and run
Qinglang Miao (1):
RDMA/pvrdma: Fix missing kfree() in pvrdma_register_device()
Zhang Changzhong (1):
IB/hfi1: Fix error return code in hfi1_init_dd()
drivers/infiniband/Kconfig | 3 +++
drivers/infiniband/core/cm.c | 12 ++++++------
drivers/infiniband/hw/hfi1/chip.c | 3 ++-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 2 +-
drivers/infiniband/sw/rdmavt/Kconfig | 3 ++-
drivers/infiniband/sw/rxe/Kconfig | 2 +-
drivers/infiniband/sw/siw/Kconfig | 1 +
tools/testing/scatterlist/linux/mm.h | 1 +
tools/testing/scatterlist/main.c | 4 ++--
9 files changed, 19 insertions(+), 12 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2020-11-05 18:16 Jason Gunthorpe
2020-11-05 20:21 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2020-11-05 18:16 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1648 bytes --]
Hi Linus,
This rc cycle continues to be challenging with an abnormal number of
regressions.
The following changes since commit 3cea11cd5e3b00d91caf0b4730194039b45c5891:
Linux 5.10-rc2 (2020-11-01 14:43:51 -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 21fcdeec09ff461b2f9a9ef4fcc3a136249e58a1:
RDMA/srpt: Fix typo in srpt_unregister_mad_agent docstring (2020-11-05 11:38:29 -0400)
----------------------------------------------------------------
RDMA 5.10 second rc pull request
A few more merge window regressions that didn't make rc1:
- New validation in the DMA layer triggers wrong use of the DMA layer in
rxe, siw and rdmavt
- Accidental change of a hypervisor facing ABI when widening the port
speed u8 to u16 in vmw_pvrdma
- Memory leak on error unwind in SRP target
----------------------------------------------------------------
Adit Ranadive (1):
RDMA/vmw_pvrdma: Fix the active_speed and phys_state value
Jason Gunthorpe (1):
RDMA/srpt: Fix typo in srpt_unregister_mad_agent docstring
Maor Gottlieb (1):
IB/srpt: Fix memory leak in srpt_add_one
Parav Pandit (1):
RDMA: Fix software RDMA drivers for dma mapping error
drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 2 +-
drivers/infiniband/sw/rdmavt/vt.c | 7 +++++--
drivers/infiniband/sw/rxe/rxe_verbs.c | 6 +++++-
drivers/infiniband/sw/siw/siw_main.c | 7 +++++--
drivers/infiniband/ulp/srpt/ib_srpt.c | 13 ++++++++-----
5 files changed, 24 insertions(+), 11 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2020-10-29 18:41 Jason Gunthorpe
2020-10-29 18:53 ` Linus Torvalds
2020-10-29 19:00 ` pr-tracker-bot
0 siblings, 2 replies; 149+ messages in thread
From: Jason Gunthorpe @ 2020-10-29 18:41 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 2579 bytes --]
Hi Linus,
First rc pull request
The good news is people are testing rc1 in the RDMA world - the bad
news is testing of the for-next area is not as good as I had hoped, as
we really should have caught at least the rdma_connect_locked() issue
before now.
Here are several regression fixes for issues found by people testing
rc1.
The following changes since commit 3650b228f83adda7e5ee532e2b90429c03f7b9ec:
Linux 5.10-rc1 (2020-10-25 15:14:11 -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 a2267f8a52eea9096861affd463f691be0f0e8c9:
RDMA/qedr: Fix memory leak in iWARP CM (2020-10-28 09:45:25 -0300)
----------------------------------------------------------------
RDMA 5.10 first rc pull request
Three notable merge window regressions that didn't get caught/fixed in
time for rc1:
- Fix in kernel users of rxe, they were broken by the rapid fix to undo
the uABI breakage in rxe from another patch
- EFA userspace needs to read the GID table but was broken with the new
GID table logic
- Fix user triggerable deadlock in mlx5 using devlink reload
- Fix deadlock in several ULPs using rdma_connect from the CM handler
callbacks
- Memory leak in qedr
----------------------------------------------------------------
Alok Prasad (1):
RDMA/qedr: Fix memory leak in iWARP CM
Bob Pearson (1):
RDMA/rxe: Fix small problem in network_type patch
Gal Pressman (1):
RDMA/uverbs: Fix false error in query gid IOCTL
Jason Gunthorpe (1):
RDMA: Add rdma_connect_locked()
Parav Pandit (1):
RDMA/mlx5: Fix devlink deadlock on net namespace deletion
drivers/infiniband/core/cma.c | 48 +++++++++++++++++-----
drivers/infiniband/core/uverbs_std_types_device.c | 3 --
drivers/infiniband/hw/mlx5/main.c | 6 ++-
drivers/infiniband/hw/qedr/qedr_iw_cm.c | 1 +
drivers/infiniband/sw/rxe/rxe_av.c | 35 ++++++++++++++--
drivers/infiniband/sw/rxe/rxe_net.c | 2 +-
drivers/infiniband/ulp/iser/iser_verbs.c | 2 +-
drivers/infiniband/ulp/rtrs/rtrs-clt.c | 4 +-
drivers/net/ethernet/mellanox/mlx5/core/lib/mlx5.h | 5 ---
drivers/nvme/host/rdma.c | 4 +-
include/linux/mlx5/driver.h | 18 ++++++++
include/rdma/rdma_cm.h | 14 +------
net/rds/ib_cm.c | 5 ++-
13 files changed, 103 insertions(+), 44 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2020-10-29 18:41 Jason Gunthorpe
@ 2020-10-29 18:53 ` Linus Torvalds
2020-10-29 19:00 ` pr-tracker-bot
1 sibling, 0 replies; 149+ messages in thread
From: Linus Torvalds @ 2020-10-29 18:53 UTC (permalink / raw)
To: Jason Gunthorpe; +Cc: Doug Ledford, linux-rdma, Linux Kernel Mailing List
On Thu, Oct 29, 2020 at 11:41 AM Jason Gunthorpe <jgg@nvidia.com> wrote:
>
> Three notable merge window regressions that didn't get caught/fixed in
> time for rc1:
Three .. and then you list five things ;)
Linus
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2020-10-29 18:41 Jason Gunthorpe
2020-10-29 18:53 ` Linus Torvalds
@ 2020-10-29 19:00 ` pr-tracker-bot
1 sibling, 0 replies; 149+ messages in thread
From: pr-tracker-bot @ 2020-10-29 19:00 UTC (permalink / raw)
To: Jason Gunthorpe; +Cc: Linus Torvalds, Doug Ledford, linux-rdma, linux-kernel
The pull request you sent on Thu, 29 Oct 2020 15:41:23 -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/b9c0f4bd5b8114ee1773734e07cda921b6e8248b
Thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2020-10-16 18:51 Jason Gunthorpe
2020-10-17 18:21 ` Linus Torvalds
2020-10-17 18:22 ` pr-tracker-bot
0 siblings, 2 replies; 149+ messages in thread
From: Jason Gunthorpe @ 2020-10-16 18:51 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 29875 bytes --]
Hi Linus,
These are the proposed RDMA patches for 5.10.
A usual cycle for RDMA with a typical mix of driver and core subsystem
updates. There was a lot of activity in the last week on fixing up some small
patches that were merged during the rc8 period, so the top couple commits are
new things that haven't been in linux-next, but they are all rc-ish unbreaking
stuff.
There is a compilation break after merging this, the signature of
__sg_alloc_table_from_pages() was changed in this PR. The series that did this
has been reviewed and been in linux-next for a while.
You'll need to apply this fixup to the merge commit (it is in the tag
for-linus-merged for reference):
diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c
index 11fe9ff76fd572..8ee53839825338 100644
--- a/drivers/gpu/drm/drm_prime.c
+++ b/drivers/gpu/drm/drm_prime.c
@@ -807,6 +807,7 @@ struct sg_table *drm_prime_pages_to_sg(struct drm_device *dev,
struct page **pages, unsigned int nr_pages)
{
struct sg_table *sg = NULL;
+ struct scatterlist *sge;
size_t max_segment = 0;
int ret;
@@ -820,11 +821,13 @@ struct sg_table *drm_prime_pages_to_sg(struct drm_device *dev,
max_segment = dma_max_mapping_size(dev->dev);
if (max_segment == 0 || max_segment > SCATTERLIST_MAX_SEGMENT)
max_segment = SCATTERLIST_MAX_SEGMENT;
- ret = __sg_alloc_table_from_pages(sg, pages, nr_pages, 0,
- nr_pages << PAGE_SHIFT,
- max_segment, GFP_KERNEL);
- if (ret)
+ sge = __sg_alloc_table_from_pages(sg, pages, nr_pages, 0,
+ nr_pages << PAGE_SHIFT, max_segment,
+ NULL, 0, GFP_KERNEL);
+ if (IS_ERR(sge)) {
+ ret = PTR_ERR(sge);
goto out;
+ }
return sg;
out:
Thanks,
Jason
The following changes since commit 549738f15da0e5a00275977623be199fbbf7df50:
Linux 5.9-rc8 (2020-10-04 16:04:34 -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 c7a198c700763ac89abbb166378f546aeb9afb33:
RDMA/ucma: Fix use after free in destroy id flow (2020-10-16 14:07:08 -0300)
----------------------------------------------------------------
RDMA 5.10 pull request
The typical set of driver updates across the subsystem:
- Driver minor changes and bug fixes for mlx5, efa, rxe, vmw_pvrdma, hns,
usnic, qib, qedr, cxgb4, hns, bnxt_re
- Various rtrs fixes and updates
- Bug fix for mlx4 CM emulation for virtualization scenarios where MRA
wasn't working right
- Use tracepoints instead of pr_debug in the CM code
- Scrub the locking in ucma and cma to close more syzkaller bugs
- Use tasklet_setup in the subsystem
- Revert the idea that 'destroy' operations are not allowed to fail at
the driver level. This proved unworkable from a HW perspective.
- Revise how the umem API works so drivers make fewer mistakes using it
- XRC support for qedr
- Convert uverbs objects RWQ and MW to new the allocation scheme
- Large queue entry sizes for hns
- Use hmm_range_fault() for mlx5 On Demand Paging
- uverbs APIs to inspect the GID table instead of sysfs
- Move some of the RDMA code for building large page SGLs into
lib/scatterlist
----------------------------------------------------------------
Aharon Landau (3):
net/mlx5: Refactor query port speed functions
RDMA/mlx5: Delete duplicated mlx5_ptys_width enum
RDMA: Fix link active_speed size
Alex Dewar (3):
RDMA/qib: Remove superfluous fallthrough statements
RDMA/qib: Tidy up process_cc()
RDMA/ucma: Fix resource leak on error path
Alex Vesker (3):
RDMA/mlx5: Add sw_owner_v2 bit capability
RDMA/mlx5: Allow DM allocation for sw_owner_v2 enabled devices
RDMA/mlx5: Expose TIR and QP ICM address for sw_owner_v2 devices
Allen Pais (5):
RDMA/bnxt_re: Convert tasklets to use new tasklet_setup() API
RDMA/hfi1: Convert tasklets to use new tasklet_setup() API
RDMA/i40iw: Convert tasklets to use new tasklet_setup() API
RDMA/qib: Convert tasklets to use new tasklet_setup() API
RDMA/rxe: Convert tasklets to use new tasklet_setup() API
Alok Prasad (1):
RDMA/qedr: Endianness warnings cleanup
Avihai Horon (4):
RDMA/core: Change rdma_get_gid_attr returned error code
RDMA/core: Modify enum ib_gid_type and enum rdma_network_type
RDMA/core: Introduce new GID table query API
RDMA/uverbs: Expose the new GID query API to user space
Bob Pearson (8):
RDMA/rxe: Fix style warnings
RDMA/rxe: Add SPDX hdrs to rxe source files
RDMA/rxe: Address an issue with hardened user copy
RDMA/core: Added missing WR and WC opcodes
RDMA/rxe: Remove duplicate entries in struct rxe_mr
RDMA/rxe: Fix skb lifetime in rxe_rcv_mcast_pkt()
RDMA/rxe: Fix bug rejecting all multicast packets
RDMA/rxe: Handle skb_clone() failure in rxe_recv.c
Chuck Lever (3):
RDMA/core: Move the rdma_show_ib_cm_event() macro
RDMA/cm: Replace pr_debug() call sites with tracepoints
RDMA/cm: Add tracepoints to track MAD send operations
Colin Ian King (2):
RDMA/bnxt_re: Fix sizeof mismatch for allocation of pbl_tbl.
IB/rdmavt: Fix sizeof mismatch
Daniel Kranzdorf (1):
RDMA/efa: Add messages and RDMA read work requests HW stats
Dennis Dalessandro (1):
IB/hfi,rdmavt,qib,opa_vnic: Update MAINTAINERS
Gal Pressman (6):
RDMA/efa: Add a generic capability check helper
RDMA/efa: Be consistent with modify QP bitmask
RDMA/efa: Introduce SRD QP state machine
RDMA/efa: Introduce SRD RNR retry
RDMA/efa: Remove redundant udata check from alloc ucontext response
RDMA/efa: Group keep alive received counter with other SW stats
Gioh Kim (1):
RDMA/rtrs: Remove unused field of rtrs_iu
Håkon Bugge (7):
IB/mlx4: Add and improve logging
IB/mlx4: Add support for MRA
IB/mlx4: Separate tunnel and wire bufs parameters
IB/mlx4: Fix starvation in paravirt mux/demux
IB/mlx4: Add support for REJ due to timeout
IB/mlx4: Adjust delayed work when a dup is observed
IB/mlx4: Convert rej_tmout radix-tree to XArray
Jason Gunthorpe (59):
RDMA/cm: Remove unused cm_class
RDMA/ucma: Fix refcount 0 incr in ucma_get_ctx()
RDMA/ucma: Remove unnecessary locking of file->ctx_list in close
RDMA/ucma: Consolidate the two destroy flows
RDMA/ucma: Fix error cases around ucma_alloc_ctx()
RDMA/ucma: Remove mc_list and rely on xarray
RDMA/cma: Add missing locking to rdma_accept()
RDMA/ucma: Do not use file->mut to lock destroying
RDMA/ucma: Fix the locking of ctx->file
RDMA/ucma: Fix locking for ctx->events_reported
RDMA/ucma: Add missing locking around rdma_leave_multicast()
RDMA/ucma: Change backlog into an atomic
RDMA/ucma: Narrow file->mut in ucma_event_handler()
RDMA/ucma: Rework how new connections are passed through event delivery
RDMA/ucma: Remove closing and the close_wq
RDMA/core: Trigger a WARN_ON if the driver causes uobjects to become leaked
RDMA/umem: Fix signature of stub ib_umem_find_best_pgsz()
Merge tag 'v5.9-rc3' into rdma.git for-next
RDMA/core: Change how failing destroy is handled during uobj abort
RDMA/umem: Fix ib_umem_find_best_pgsz() for mappings that cross a page boundary
RDMA/umem: Prevent small pages from being returned by ib_umem_find_best_pgsz()
RDMA/umem: Use simpler logic for ib_umem_find_best_pgsz()
RDMA/umem: Add rdma_umem_for_each_dma_block()
RDMA/umem: Replace for_each_sg_dma_page with rdma_umem_for_each_dma_block
RDMA/umem: Split ib_umem_num_pages() into ib_umem_num_dma_blocks()
RDMA/efa: Use ib_umem_num_dma_pages()
RDMA/i40iw: Use ib_umem_num_dma_pages()
RDMA/qedr: Use rdma_umem_for_each_dma_block() instead of open-coding
RDMA/qedr: Use ib_umem_num_dma_blocks() instead of ib_umem_page_count()
RDMA/bnxt: Do not use ib_umem_page_count() or ib_umem_num_pages()
RDMA/hns: Use ib_umem_num_dma_blocks() instead of opencoding
RDMA/ocrdma: Use ib_umem_num_dma_blocks() instead of ib_umem_page_count()
RDMA/pvrdma: Use ib_umem_num_dma_blocks() instead of ib_umem_page_count()
RDMA/mlx4: Use ib_umem_num_dma_blocks()
RDMA/qedr: Remove fbo and zbva from the MR
RDMA/ocrdma: Remove fbo from MR
RDMA/cma: Fix locking for the RDMA_CM_CONNECT state
RDMA/cma: Make the locking for automatic state transition more clear
RDMA/cma: Fix locking for the RDMA_CM_LISTEN state
RDMA/cma: Remove cma_comp()
RDMA/cma: Combine cma_ndev_work with cma_work
RDMA/cma: Remove dead code for kernel rdmacm multicast
RDMA/cma: Consolidate the destruction of a cma_multicast in one place
RDMA/cma: Fix use after free race in roce multicast join
Merge branch 'mlx5_active_speed' into rdma.git for-next
Merge branch 'mlx_sw_owner_v2' into rdma.git for-next
RDMA/mlx5: Remove dead check for EAGAIN after alloc_mr_from_cache()
RDMA/mlx5: Use set_mkc_access_pd_addr_fields() in reg_create()
RDMA/mlx5: Make mkeys always owned by the kernel's PD when not enabled
RDMA/mlx5: Disable IB_DEVICE_MEM_MGT_EXTENSIONS if IB_WR_REG_MR can't work
RDMA/mlx5: Clarify what the UMR is for when creating MRs
RDMA/ucma: Rework ucma_migrate_id() to avoid races with destroy
RDMA/core: Remove ucontext->closing
RDMA/addr: Fix race with netevent_callback()/rdma_addr_cancel()
RDMA/bnxt_re: Use rdma_umem_for_each_dma_block()
Merge branch 'dynamic_sg' into rdma.git for-next
lib/scatterlist: Do not limit max_segment to PAGE_ALIGNED values
RDMA: Explicitly pass in the dma_device to ib_register_device
RDMA/rxe: Move the definitions for rxe_av.network_type to uAPI
Jiaran Zhang (2):
RDMA/hns: Add check for the validity of sl configuration
RDMA/hns: Solve the overflow of the calc_pg_sz()
Joe Perches (1):
MAINTAINERS: CISCO VIC LOW LATENCY NIC DRIVER
Julia Lawall (1):
RDMA/efa: Drop double zeroing for sg_init_table()
Kamal Heib (4):
RDMA/vmw_pvrdma: Fix kernel-doc documentation
RDMA/usnic: Remove the query_pkey callback
RDMA/qedr: Fix reported max_pkeys
RDMA/ipoib: Set rtnl_link_ops for ipoib interfaces
Keita Suzuki (1):
RDMA/qedr: Fix resource leak in qedr_create_qp
Lang Cheng (3):
RDMA/hns: Add a check for current state before modifying QP
RDMA/hns: Correct typo of hns_roce_create_cq()
RDMA/hns: Remove unused variables and definitions
Leon Romanovsky (31):
RDMA/mlx5: Simplify multiple else-if cases with switch keyword
RDMA/mlx5: Replace open-coded offsetofend() macro
RDMA: Remove constant domain argument from flow creation call
RDMA/mlx5: Fix potential race between destroy and CQE poll
RDMA: Restore ability to fail on PD deallocate
RDMA: Restore ability to fail on AH destroy
RDMA/mlx5: Issue FW command to destroy SRQ on reentry
RDMA: Restore ability to fail on SRQ destroy
RDMA/core: Delete function indirection for alloc/free kernel CQ
RDMA: Allow fail of destroy CQ
RDMA: Change XRCD destroy return value
RDMA: Restore ability to return error for destroy WQ
RDMA: Make counters destroy symmetrical
RDMA: Clean MW allocation and free flows
RDMA: Convert RWQ table logic to ib_core allocation scheme
RDMA/cma: Delete from restrack DB after successful destroy
RDMA/mlx5: Don't call to restrack recursively
RDMA/restrack: Count references to the verbs objects
RDMA/restrack: Simplify restrack tracking in kernel flows
RDMA/restrack: Improve readability in task name management
RDMA/mlx5: Embed GSI QP into general mlx5_ib QP
RDMA/mlx5: Reuse existing fields in parent QP storage object
RDMA/mlx5: Change GSI QP to have same creation flow like other QPs
RDMA/mlx5: Delete not needed GSI QP signal QP type
RDMA/mlx4: Embed GSI QP into general mlx4_ib QP
RDMA/mlx4: Prepare QP allocation to remove from the driver
RDMA/core: Align write and ioctl checks of QP types
RDMA/drivers: Remove udata check from special QP
RDMA/mthca: Combine special QP struct with mthca QP
RDMA/i40iw: Remove intermediate pointer that points to the same struct
overflow: Include header file with SIZE_MAX declaration
Lijun Ou (2):
RDMA/hns: Avoid unncessary initialization
RDMA/hns: Set the unsupported wr opcode
Liu Shixin (2):
RDMA/ipoib: Convert to use DEFINE_SEQ_ATTRIBUTE macro
RDMA/mlx5: Fix type warning of sizeof in __mlx5_ib_alloc_counters()
Maor Gottlieb (4):
RDMA/mlx5: Enable sniffer when device is in switchdev mode
lib/scatterlist: Add support in dynamic allocation of SG table from pages
RDMA/umem: Move to allocate SG table from pages
RDMA/ucma: Fix use after free in destroy id flow
Mark Zhang (3):
RDMA/mlx5: Add new IB rates support
IB/mlx5: Add tx_affinity support for DCI QP
IB/mlx5: Add DCT RoCE LAG support
Max Gurtovoy (1):
IB/isert: remove duplicated error prints
Md Haris Iqbal (1):
RDMA/rtrs-srv: Incorporate ib_register_client into rtrs server init
Michal Kalderon (8):
RDMA/qedr: Fix qp structure memory leak
RDMA/qedr: Fix doorbell setting
RDMA/qedr: Fix use of uninitialized field
RDMA/qedr: Fix return code if accept is called on a destroyed qp
qede: Notify qedr when mtu has changed
RDMA/qedr: Fix iWARP active mtu display
RDMA/qedr: Fix inline size returned for iWARP
RDMA/qedr: Fix function prototype parameters alignment
Mohammad Heib (1):
RDMA/rxe: prevent rxe creation on top of vlan interface
Parav Pandit (1):
RDMA/i40iw: Avoid typecast from void to pci_dev
Potnuri Bharat Teja (1):
RDMA/iw_cxgb4: Disable delayed ack by default
Rikard Falkeborn (2):
RDMA/core: Constify struct attribute_group
RDMA/rtrs: Constify static struct attribute_group
Sindhu, Devale (1):
i40iw: Add support to make destroy QP synchronous
Tvrtko Ursulin (2):
tools/testing/scatterlist: Rejuvenate bit-rotten test
tools/testing/scatterlist: Show errors in human readable form
Weihang Li (5):
RDMA/hns: Get udp sport num dynamically instead of using a fixed value
RDMA/hns: Refactor process about opcode in post_send()
RDMA/hns: Fix configuration of ack_req_freq in QPC
RDMA/hns: Fix missing sq_sig_type when querying QP
RDMA/hns: Support inline data in extented sge space for RC
Wenpeng Liang (4):
RDMA/hns: Add support for EQE in size of 64 Bytes
RDMA/hns: Add support for CQE in size of 64 Bytes
RDMA/hns: Add support for QPC in size of 512 Bytes
RDMA/hns: Fix the wrong value of rnr_retry when querying qp
Yangyang Li (2):
RDMA/hns: Add support for SCCC in size of 64 Bytes
RDMA/hns: Add interception for resizing SRQs
Yishai Hadas (4):
IB/core: Improve ODP to use hmm_range_fault()
IB/core: Enable ODP sync without faulting
RDMA/mlx5: Extend advice MR to support non faulting mode
RDMA/mlx5: Sync device with CPU pages upon ODP MR registration
Yuval Basson (1):
RDMA/qedr: Add support for user mode XRC-SRQ's
.clang-format | 1 +
Documentation/ABI/stable/sysfs-class-infiniband | 17 -
MAINTAINERS | 17 +-
drivers/gpu/drm/drm_prime.c | 11 +-
drivers/gpu/drm/i915/gem/i915_gem_userptr.c | 12 +-
drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c | 15 +-
drivers/infiniband/Kconfig | 1 +
drivers/infiniband/core/Makefile | 2 +-
drivers/infiniband/core/addr.c | 11 +-
drivers/infiniband/core/cache.c | 72 ++-
drivers/infiniband/core/cm.c | 126 ++--
drivers/infiniband/core/cm_trace.c | 15 +
drivers/infiniband/core/cm_trace.h | 414 ++++++++++++++
drivers/infiniband/core/cma.c | 635 +++++++++++----------
drivers/infiniband/core/cma_configfs.c | 9 +-
drivers/infiniband/core/cma_trace.h | 40 --
drivers/infiniband/core/core_priv.h | 13 +-
drivers/infiniband/core/counters.c | 15 +-
drivers/infiniband/core/cq.c | 39 +-
drivers/infiniband/core/device.c | 77 +--
drivers/infiniband/core/rdma_core.c | 34 +-
drivers/infiniband/core/restrack.c | 161 +++---
drivers/infiniband/core/restrack.h | 10 +-
drivers/infiniband/core/sysfs.c | 15 +-
drivers/infiniband/core/ucma.c | 542 ++++++++----------
drivers/infiniband/core/umem.c | 139 ++---
drivers/infiniband/core/umem_odp.c | 291 ++++------
drivers/infiniband/core/uverbs_cmd.c | 93 ++-
drivers/infiniband/core/uverbs_main.c | 7 +-
drivers/infiniband/core/uverbs_std_types.c | 15 +-
.../infiniband/core/uverbs_std_types_counters.c | 4 +-
drivers/infiniband/core/uverbs_std_types_cq.c | 8 +-
drivers/infiniband/core/uverbs_std_types_device.c | 199 ++++++-
drivers/infiniband/core/uverbs_std_types_wq.c | 2 +-
drivers/infiniband/core/verbs.c | 114 ++--
drivers/infiniband/hw/bnxt_re/bnxt_re.h | 2 +-
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 90 +--
drivers/infiniband/hw/bnxt_re/ib_verbs.h | 8 +-
drivers/infiniband/hw/bnxt_re/main.c | 3 +-
drivers/infiniband/hw/bnxt_re/qplib_fp.c | 7 +-
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 11 +-
drivers/infiniband/hw/bnxt_re/qplib_res.c | 30 +-
drivers/infiniband/hw/bnxt_re/qplib_res.h | 3 +-
drivers/infiniband/hw/cxgb4/cm.c | 4 +-
drivers/infiniband/hw/cxgb4/cq.c | 3 +-
drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 7 +-
drivers/infiniband/hw/cxgb4/mem.c | 40 +-
drivers/infiniband/hw/cxgb4/provider.c | 11 +-
drivers/infiniband/hw/cxgb4/qp.c | 3 +-
drivers/infiniband/hw/efa/efa.h | 14 +-
drivers/infiniband/hw/efa/efa_admin_cmds_defs.h | 69 ++-
drivers/infiniband/hw/efa/efa_com_cmd.c | 28 +-
drivers/infiniband/hw/efa/efa_com_cmd.h | 18 +
drivers/infiniband/hw/efa/efa_main.c | 4 +-
drivers/infiniband/hw/efa/efa_verbs.c | 258 +++++++--
drivers/infiniband/hw/hfi1/sdma.c | 22 +-
drivers/infiniband/hw/hfi1/verbs.c | 2 +-
drivers/infiniband/hw/hns/hns_roce_ah.c | 23 +-
drivers/infiniband/hw/hns/hns_roce_alloc.c | 3 +-
drivers/infiniband/hw/hns/hns_roce_cq.c | 27 +-
drivers/infiniband/hw/hns/hns_roce_device.h | 74 +--
drivers/infiniband/hw/hns/hns_roce_hem.c | 8 +-
drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 51 +-
drivers/infiniband/hw/hns/hns_roce_hw_v1.h | 4 +-
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 534 ++++++++++++-----
drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 43 +-
drivers/infiniband/hw/hns/hns_roce_main.c | 19 +-
drivers/infiniband/hw/hns/hns_roce_mr.c | 81 +--
drivers/infiniband/hw/hns/hns_roce_pd.c | 3 +-
drivers/infiniband/hw/hns/hns_roce_qp.c | 80 +--
drivers/infiniband/hw/hns/hns_roce_srq.c | 5 +-
drivers/infiniband/hw/i40iw/i40iw.h | 9 +-
drivers/infiniband/hw/i40iw/i40iw_cm.c | 10 +-
drivers/infiniband/hw/i40iw/i40iw_hw.c | 4 +-
drivers/infiniband/hw/i40iw/i40iw_main.c | 16 +-
drivers/infiniband/hw/i40iw/i40iw_pble.c | 4 +-
drivers/infiniband/hw/i40iw/i40iw_type.h | 3 +-
drivers/infiniband/hw/i40iw/i40iw_utils.c | 63 +-
drivers/infiniband/hw/i40iw/i40iw_verbs.c | 64 ++-
drivers/infiniband/hw/i40iw/i40iw_verbs.h | 3 +-
drivers/infiniband/hw/mlx4/ah.c | 5 -
drivers/infiniband/hw/mlx4/cm.c | 152 ++++-
drivers/infiniband/hw/mlx4/cq.c | 4 +-
drivers/infiniband/hw/mlx4/mad.c | 158 ++---
drivers/infiniband/hw/mlx4/main.c | 45 +-
drivers/infiniband/hw/mlx4/mlx4_ib.h | 62 +-
drivers/infiniband/hw/mlx4/mr.c | 35 +-
drivers/infiniband/hw/mlx4/qp.c | 345 +++++------
drivers/infiniband/hw/mlx4/srq.c | 8 +-
drivers/infiniband/hw/mlx5/ah.c | 9 +-
drivers/infiniband/hw/mlx5/cmd.c | 8 +-
drivers/infiniband/hw/mlx5/cmd.h | 4 +-
drivers/infiniband/hw/mlx5/counters.c | 7 +-
drivers/infiniband/hw/mlx5/cq.c | 16 +-
drivers/infiniband/hw/mlx5/fs.c | 148 ++---
drivers/infiniband/hw/mlx5/gsi.c | 154 ++---
drivers/infiniband/hw/mlx5/main.c | 70 ++-
drivers/infiniband/hw/mlx5/mem.c | 4 +-
drivers/infiniband/hw/mlx5/mlx5_ib.h | 100 +++-
drivers/infiniband/hw/mlx5/mr.c | 189 +++---
drivers/infiniband/hw/mlx5/odp.c | 56 +-
drivers/infiniband/hw/mlx5/qp.c | 182 +++---
drivers/infiniband/hw/mlx5/qp.h | 4 +-
drivers/infiniband/hw/mlx5/qpc.c | 5 +-
drivers/infiniband/hw/mlx5/srq.c | 23 +-
drivers/infiniband/hw/mlx5/srq.h | 2 +-
drivers/infiniband/hw/mlx5/srq_cmd.c | 22 +-
drivers/infiniband/hw/mlx5/wr.c | 27 +-
drivers/infiniband/hw/mthca/mthca_dev.h | 2 +-
drivers/infiniband/hw/mthca/mthca_provider.c | 39 +-
drivers/infiniband/hw/mthca/mthca_provider.h | 27 +-
drivers/infiniband/hw/mthca/mthca_qp.c | 75 ++-
drivers/infiniband/hw/ocrdma/ocrdma.h | 1 -
drivers/infiniband/hw/ocrdma/ocrdma_ah.c | 3 +-
drivers/infiniband/hw/ocrdma/ocrdma_ah.h | 2 +-
drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 5 +-
drivers/infiniband/hw/ocrdma/ocrdma_main.c | 4 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 38 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.h | 6 +-
drivers/infiniband/hw/qedr/main.c | 31 +-
drivers/infiniband/hw/qedr/qedr.h | 33 ++
drivers/infiniband/hw/qedr/qedr_iw_cm.c | 6 +-
drivers/infiniband/hw/qedr/verbs.c | 438 ++++++++------
drivers/infiniband/hw/qedr/verbs.h | 11 +-
drivers/infiniband/hw/qib/qib.h | 6 +-
drivers/infiniband/hw/qib/qib_iba7322.c | 7 +-
drivers/infiniband/hw/qib/qib_mad.c | 52 +-
drivers/infiniband/hw/qib/qib_sdma.c | 10 +-
drivers/infiniband/hw/usnic/usnic_ib_main.c | 5 +-
drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 18 +-
drivers/infiniband/hw/usnic/usnic_ib_verbs.h | 6 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 7 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 4 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_misc.c | 9 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c | 3 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 9 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c | 7 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c | 15 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 10 +-
drivers/infiniband/sw/rdmavt/ah.c | 3 +-
drivers/infiniband/sw/rdmavt/ah.h | 2 +-
drivers/infiniband/sw/rdmavt/cq.c | 3 +-
drivers/infiniband/sw/rdmavt/cq.h | 2 +-
drivers/infiniband/sw/rdmavt/pd.c | 3 +-
drivers/infiniband/sw/rdmavt/pd.h | 2 +-
drivers/infiniband/sw/rdmavt/srq.c | 3 +-
drivers/infiniband/sw/rdmavt/srq.h | 2 +-
drivers/infiniband/sw/rdmavt/vt.c | 10 +-
drivers/infiniband/sw/rxe/rxe.c | 43 +-
drivers/infiniband/sw/rxe/rxe.h | 29 +-
drivers/infiniband/sw/rxe/rxe_av.c | 29 +-
drivers/infiniband/sw/rxe/rxe_comp.c | 32 +-
drivers/infiniband/sw/rxe/rxe_cq.c | 35 +-
drivers/infiniband/sw/rxe/rxe_hdr.h | 29 +-
drivers/infiniband/sw/rxe/rxe_hw_counters.c | 29 +-
drivers/infiniband/sw/rxe/rxe_hw_counters.h | 29 +-
drivers/infiniband/sw/rxe/rxe_icrc.c | 29 +-
drivers/infiniband/sw/rxe/rxe_loc.h | 29 +-
drivers/infiniband/sw/rxe/rxe_mcast.c | 29 +-
drivers/infiniband/sw/rxe/rxe_mmap.c | 29 +-
drivers/infiniband/sw/rxe/rxe_mr.c | 54 +-
drivers/infiniband/sw/rxe/rxe_net.c | 39 +-
drivers/infiniband/sw/rxe/rxe_net.h | 29 +-
drivers/infiniband/sw/rxe/rxe_opcode.c | 29 +-
drivers/infiniband/sw/rxe/rxe_opcode.h | 29 +-
drivers/infiniband/sw/rxe/rxe_param.h | 29 +-
drivers/infiniband/sw/rxe/rxe_pool.c | 89 +--
drivers/infiniband/sw/rxe/rxe_pool.h | 36 +-
drivers/infiniband/sw/rxe/rxe_qp.c | 32 +-
drivers/infiniband/sw/rxe/rxe_queue.c | 29 +-
drivers/infiniband/sw/rxe/rxe_queue.h | 29 +-
drivers/infiniband/sw/rxe/rxe_recv.c | 68 ++-
drivers/infiniband/sw/rxe/rxe_req.c | 33 +-
drivers/infiniband/sw/rxe/rxe_resp.c | 29 +-
drivers/infiniband/sw/rxe/rxe_srq.c | 29 +-
drivers/infiniband/sw/rxe/rxe_sysfs.c | 35 +-
drivers/infiniband/sw/rxe/rxe_task.c | 37 +-
drivers/infiniband/sw/rxe/rxe_task.h | 33 +-
drivers/infiniband/sw/rxe/rxe_verbs.c | 52 +-
drivers/infiniband/sw/rxe/rxe_verbs.h | 48 +-
drivers/infiniband/sw/siw/siw_main.c | 8 +-
drivers/infiniband/sw/siw/siw_verbs.c | 9 +-
drivers/infiniband/sw/siw/siw_verbs.h | 6 +-
drivers/infiniband/ulp/ipoib/ipoib_cm.c | 6 +-
drivers/infiniband/ulp/ipoib/ipoib_fs.c | 50 +-
drivers/infiniband/ulp/ipoib/ipoib_main.c | 2 +
drivers/infiniband/ulp/ipoib/ipoib_netlink.c | 11 +
drivers/infiniband/ulp/ipoib/ipoib_vlan.c | 2 +
drivers/infiniband/ulp/isert/ib_isert.c | 15 +-
drivers/infiniband/ulp/rtrs/rtrs-clt-sysfs.c | 6 +-
drivers/infiniband/ulp/rtrs/rtrs-pri.h | 1 -
drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c | 4 +-
drivers/infiniband/ulp/rtrs/rtrs-srv.c | 76 ++-
drivers/infiniband/ulp/rtrs/rtrs-srv.h | 7 +
.../ethernet/mellanox/mlx5/core/ipoib/ethtool.c | 31 +-
drivers/net/ethernet/mellanox/mlx5/core/port.c | 23 +-
drivers/net/ethernet/qlogic/qed/qed_rdma.c | 15 +-
drivers/net/ethernet/qlogic/qede/qede_ethtool.c | 4 +-
drivers/net/ethernet/qlogic/qede/qede_rdma.c | 17 +
include/linux/mlx5/mlx5_ifc.h | 6 +-
include/linux/mlx5/port.h | 15 +-
include/linux/overflow.h | 1 +
include/linux/qed/qed_rdma_if.h | 2 -
include/linux/qed/qede_rdma.h | 4 +-
include/linux/scatterlist.h | 38 +-
include/rdma/ib_cache.h | 3 +
include/rdma/ib_cm.h | 3 -
include/rdma/ib_umem.h | 46 +-
include/rdma/ib_umem_odp.h | 21 +-
include/rdma/ib_verbs.h | 212 ++-----
include/rdma/rdma_cm.h | 46 +-
include/rdma/restrack.h | 21 +-
include/trace/events/rdma.h | 41 +-
include/trace/events/rpcrdma.h | 1 +
include/uapi/rdma/efa-abi.h | 1 +
include/uapi/rdma/hns-abi.h | 4 +-
include/uapi/rdma/ib_user_ioctl_cmds.h | 16 +
include/uapi/rdma/ib_user_ioctl_verbs.h | 15 +
include/uapi/rdma/ib_user_verbs.h | 11 +
include/uapi/rdma/rdma_user_rxe.h | 12 +-
lib/scatterlist.c | 133 ++++-
tools/testing/scatterlist/Makefile | 3 +-
tools/testing/scatterlist/linux/mm.h | 35 ++
tools/testing/scatterlist/main.c | 53 +-
224 files changed, 5209 insertions(+), 4693 deletions(-)
(diffstat from tag for-linus-merged)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2020-10-16 18:51 Jason Gunthorpe
@ 2020-10-17 18:21 ` Linus Torvalds
2020-10-17 18:42 ` Jason Gunthorpe
2020-10-17 18:22 ` pr-tracker-bot
1 sibling, 1 reply; 149+ messages in thread
From: Linus Torvalds @ 2020-10-17 18:21 UTC (permalink / raw)
To: Jason Gunthorpe; +Cc: Doug Ledford, linux-rdma, Linux Kernel Mailing List
On Fri, Oct 16, 2020 at 11:52 AM Jason Gunthorpe <jgg@nvidia.com> wrote:
>
> You'll need to apply this fixup to the merge commit (it is in the tag
> for-linus-merged for reference):
Ugh. That's unbelievably and unnecessarily ugly.
There's no point in that unnecessary "ret" variable and the "goto out"
etc, when all the error cases can be handled much more directly.
So I resolved that merge issue somewhat differently. I can't test the
end result, but it looks TriviallyCorrect(tm).
Famous last words. Feel free to make fun of me and call me names if that breaks.
Linus
I did it v
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2020-10-17 18:21 ` Linus Torvalds
@ 2020-10-17 18:42 ` Jason Gunthorpe
0 siblings, 0 replies; 149+ messages in thread
From: Jason Gunthorpe @ 2020-10-17 18:42 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Doug Ledford, linux-rdma, Linux Kernel Mailing List
On Sat, Oct 17, 2020 at 11:21:51AM -0700, Linus Torvalds wrote:
> On Fri, Oct 16, 2020 at 11:52 AM Jason Gunthorpe <jgg@nvidia.com> wrote:
> >
> > You'll need to apply this fixup to the merge commit (it is in the tag
> > for-linus-merged for reference):
>
> Ugh. That's unbelievably and unnecessarily ugly.
>
> There's no point in that unnecessary "ret" variable and the "goto out"
> etc, when all the error cases can be handled much more directly.
Yep
> So I resolved that merge issue somewhat differently. I can't test the
> end result, but it looks TriviallyCorrect(tm).
>
> Famous last words. Feel free to make fun of me and call me names if that breaks.
Not familiar with DRM land, but it looks trivially fine to me too.
Thanks,
Jason
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2020-10-16 18:51 Jason Gunthorpe
2020-10-17 18:21 ` Linus Torvalds
@ 2020-10-17 18:22 ` pr-tracker-bot
1 sibling, 0 replies; 149+ messages in thread
From: pr-tracker-bot @ 2020-10-17 18:22 UTC (permalink / raw)
To: Jason Gunthorpe; +Cc: Linus Torvalds, Doug Ledford, linux-rdma, linux-kernel
The pull request you sent on Fri, 16 Oct 2020 15:51:55 -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/a1e16bc7d5f7ca3599d8a7f061841c93a563665e
Thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2020-09-25 12:57 Jason Gunthorpe
2020-09-25 17:48 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2020-09-25 12:57 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 912 bytes --]
Hi Linus,
Only one small bug fix for rxe found by blktests.
The following changes since commit 856deb866d16e29bd65952e0289066f6078af773:
Linux 5.9-rc5 (2020-09-13 16:06:00 -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 4aa1615268a8ac2b20096211d3f9ac53874067d7:
RDMA/core: Fix ordering of CQ pool destruction (2020-09-14 15:20:18 -0300)
----------------------------------------------------------------
RDMA third 5.9-rc pull request
One fix for a bug that blktests hits when using rxe:
- Tear down the CQ pool before waiting for all references to go away
----------------------------------------------------------------
Jason Gunthorpe (1):
RDMA/core: Fix ordering of CQ pool destruction
drivers/infiniband/core/device.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2020-09-10 23:38 Jason Gunthorpe
2020-09-11 18:37 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2020-09-10 23:38 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 3430 bytes --]
Hi Linus,
Another small RC update, nothing too interesting, 5.9 is looking good
so far.
Thanks,
Jason
The following changes since commit d012a7190fc1fd72ed48911e77ca97ba4521bccd:
Linux 5.9-rc2 (2020-08-23 14:08:43 -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 0b089c1ef7047652b13b4cdfdb1e0e7dbdb8c9ab:
IB/isert: Fix unaligned immediate-data handling (2020-09-09 13:46:03 -0300)
----------------------------------------------------------------
RDMA second 5.9-rc pull request
A number of driver bug fixes and a few recent regressions:
- Several bug fixes for bnxt_re. Crashing, incorrect data reported,
and corruption on new HW
- Memory leak and crash in rxe
- Fix sysfs corruption in rxe if the netdev name is too long
- Fix a crash on error unwind in the new cq_pool code
- Fix kobject panics in rtrs by working device lifetime properly
- Fix a data corruption bug in iser target related to misaligned buffers
----------------------------------------------------------------
Dinghao Liu (1):
RDMA/rxe: Fix memleak in rxe_mem_init_user
Kamal Heib (2):
RDMA/rxe: Fix panic when calling kmem_cache_create()
RDMA/core: Fix reported speed and width
Mark Bloch (1):
RDMA/mlx4: Read pkey table length instead of hardcoded value
Md Haris Iqbal (2):
RDMA/rtrs-srv: Replace device_register with device_initialize and device_add
RDMA/rtrs-srv: Set .release function for rtrs srv device during device init
Naresh Kumar PBS (3):
RDMA/bnxt_re: Static NQ depth allocation
RDMA/bnxt_re: Restrict the max_gids to 256
RDMA/bnxt_re: Fix driver crash on unaligned PSN entry address
Sagi Grimberg (1):
IB/isert: Fix unaligned immediate-data handling
Selvin Xavier (3):
RDMA/bnxt_re: Do not report transparent vlan from QP1
RDMA/bnxt_re: Fix the qp table indexing
RDMA/bnxt_re: Remove the qp from list only if the qp destroy succeeds
Xi Wang (1):
RDMA/core: Fix unsafe linked list traversal after failing to allocate CQ
Yi Zhang (1):
RDMA/rxe: Fix the parent sysfs read when the interface has 15 chars
YueHaibing (1):
RDMA/bnxt_re: Remove set but not used variable 'qplib_ctx'
drivers/infiniband/core/cq.c | 4 +-
drivers/infiniband/core/verbs.c | 2 +-
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 43 ++++++++-----
drivers/infiniband/hw/bnxt_re/main.c | 5 +-
drivers/infiniband/hw/bnxt_re/qplib_fp.c | 26 +++++---
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 10 +--
drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 5 ++
drivers/infiniband/hw/bnxt_re/qplib_sp.c | 2 +-
drivers/infiniband/hw/bnxt_re/qplib_sp.h | 1 +
drivers/infiniband/hw/mlx4/main.c | 3 +-
drivers/infiniband/sw/rxe/rxe.c | 4 ++
drivers/infiniband/sw/rxe/rxe.h | 2 +
drivers/infiniband/sw/rxe/rxe_mr.c | 1 +
drivers/infiniband/sw/rxe/rxe_sysfs.c | 5 ++
drivers/infiniband/sw/rxe/rxe_verbs.c | 2 +-
drivers/infiniband/ulp/isert/ib_isert.c | 93 ++++++++++++++--------------
drivers/infiniband/ulp/isert/ib_isert.h | 41 +++++++++---
drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c | 16 ++---
drivers/infiniband/ulp/rtrs/rtrs-srv.c | 9 +++
19 files changed, 168 insertions(+), 106 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2020-08-21 14:06 Jason Gunthorpe
2020-08-21 17:16 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2020-08-21 14:06 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 2565 bytes --]
Hi Linus,
First rc pull request
Nothing exciting, just a few bug fixes and a MAINTAINERS file update.
There is a small merge conflict in the .mailmap, it has been sorted in your
tree and Leon's entry was moved.
It should be resolved by adding the new line at the new sorted position:
Leon Romanovsky <leon@kernel.org> <leon@leon.nu>
Leon Romanovsky <leon@kernel.org> <leonro@mellanox.com>
+Leon Romanovsky <leon@kernel.org> <leonro@nvidia.com>
Thanks,
Jason
The following changes since commit 9123e3a74ec7b934a4a099e98af6a61c2f80bbf5:
Linux 5.9-rc1 (2020-08-16 13:04:57 -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 f6da70d99c96256f8be0cbb4dd72d45d622c7823:
MAINTAINERS: Update Mellanox and Cumulus Network addresses to new domain (2020-08-21 10:48:48 -0300)
----------------------------------------------------------------
RDMA first 5.9rc pull request
One regression from 5.8 and a few bugs from earlier kernels.
- Various spelling corrections in kernel prints
- Bug fixes in hfi1 and bntx_re
- Revert a 5.8 patch in hns
- Batch update for Mellanox and Cumulus maintainers emails
----------------------------------------------------------------
Colin Ian King (3):
RDMA/hns: Fix spelling mistake "epmty" -> "empty"
RDMA/usnic: Fix spelling mistake "transistion" -> "transition"
RDMA/core: Fix spelling mistake "Could't" -> "Couldn't"
Kaike Wan (1):
RDMA/hfi1: Correct an interlock issue for TID RDMA WRITE request
Leon Romanovsky (1):
MAINTAINERS: Update Mellanox and Cumulus Network addresses to new domain
Selvin Xavier (1):
RDMA/bnxt_re: Do not add user qps to flushlist
Weihang Li (1):
Revert "RDMA/hns: Reserve one sge in order to avoid local length error"
.mailmap | 2 +
MAINTAINERS | 58 ++++++++++++++---------------
drivers/infiniband/core/device.c | 2 +-
drivers/infiniband/hw/bnxt_re/main.c | 3 +-
drivers/infiniband/hw/hfi1/tid_rdma.c | 1 +
drivers/infiniband/hw/hns/hns_roce_device.h | 2 -
drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 2 +-
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 9 ++---
drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 4 +-
drivers/infiniband/hw/hns/hns_roce_qp.c | 5 +--
drivers/infiniband/hw/hns/hns_roce_srq.c | 2 +-
drivers/infiniband/hw/usnic/usnic_ib_main.c | 2 +-
12 files changed, 45 insertions(+), 47 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2020-08-06 18:27 Jason Gunthorpe
2020-08-07 1:55 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2020-08-06 18:27 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 19921 bytes --]
Hi Linus,
These are the proposed RDMA patches for 5.9.
A quiet cycle after the larger 5.8 effort. Substantially cleanup and
driver work with a few smaller features this time.
There is one conflict with Kees's removal of uninitialized_var -
resolve by taking the RDMA version of the conflicting hunks to delete
the local variables.
The tag for-linus-merged with my merge resolution to your tree is also
available for reference.
Thanks,
Jason
The following changes since commit 2d1b69ed65ee033aa541518cc9f6a815296ac493:
net/mlx5: kTLS, Improve TLS params layout structures (2020-06-27 13:50:46 -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 23fcc7dee2c6aba1060558683988263851e74bab:
RDMA/mlx5: Fix flow destination setting for RDMA TX flow table (2020-08-05 21:09:39 -0300)
----------------------------------------------------------------
RDMA 5.9 merge window pull request
Smaller set of RDMA updates. A smaller number of 'big topics' with the
majority of changes being driver updates.
- Driver updates for hfi1, rxe, mlx5, hns, qedr, usnic, bnxt_re
- Removal of dead or redundant code across the drivers
- RAW resource tracker dumps to include a device specific data blob for
device objects to aide device debugging
- Further advance the IOCTL interface, remove the ability to turn it off.
Add QUERY_CONTEXT, QUERY_MR, and QUERY_PD commands
- Remove stubs related to devices with no pkey table
- A shared CQ scheme to allow multiple ULPs to share the CQ rings of a
device to give higher performance
- Several more static checker, syzkaller and rare crashers fixed
----------------------------------------------------------------
Bolarinwa Olayemi Saheed (1):
IB/hfi1: Convert PCIBIOS_* errors to generic -E* errors
Christophe JAILLET (1):
RDMA/usnic: switch from 'pci_' to 'dma_' API
Chuck Lever (1):
RDMA/core: Clean up tracepoint headers
Colton Lewis (1):
RDMA: Correct trivial kernel-doc inconsistencies
Danil Kipnis (1):
RDMA/rtrs-clt: add an additional random 8 seconds before reconnecting
Daria Velikovsky (1):
RDMA/mlx5: Init dest_type when create flow
Devesh Sharma (6):
RDMA/bnxt_re: introduce wqe mode to select execution path
RDMA/bnxt_re: introduce a function to allocate swq
RDMA/bnxt_re: Pull psn buffer dynamically based on prod
RDMA/bnxt_re: Add helper data structures
RDMA/bnxt_re: Change wr posting logic to accommodate variable wqes
RDMA/bnxt_re: Update maintainers for Broadcom rdma driver
Eli Cohen (3):
net/mlx5: Support setting access rights of dma addresses
net/mlx5: Add VDPA interface type to supported enumerations
net/mlx5: Add interface changes required for VDPA
Eric Dumazet (1):
RDMA/umem: Add a schedule point in ib_umem_get()
Gal Pressman (8):
RDMA/core: Check for error instead of success in alloc MR function
RDMA/core: Remove ib_alloc_mr_user function
RDMA: Remove the udata parameter from alloc_mr callback
RDMA/mlx5: Remove unused to_mibmr function
RDMA/efa: Expose maximum TX doorbell batch
RDMA/efa: Expose minimum SQ size
RDMA/efa: User/kernel compatibility handshake mechanism
RDMA/efa: Add EFA 0xefa1 PCI ID
Gustavo A. R. Silva (2):
IB/hfi1: Remove unnecessary fall-through markings
IB/hfi1: Use fallthrough pseudo-keyword
Jack Wang (1):
RDMA/rtrs: remove WQ_MEM_RECLAIM for rtrs_wq
Jason Gunthorpe (9):
Merge branch 'raw_dumps' into rdma.git for-next
RDMA/ipoib: Fix ABBA deadlock with ipoib_reap_ah()
RDMA/core: Fix bogus WARN_ON during ib_unregister_device_queued()
Merge branch 'mlx5_ipoib_qpn' into rdma.git for-next
Merge branch 'mlx5_uar' into rdma.git /for-next
RDMA/cma: Simplify DEVICE_REMOVAL for internal_id
RDMA/cma: Using the standard locking pattern when delivering the removal event
RDMA/cma: Remove unneeded locking for req paths
RDMA/cma: Execute rdma_cm destruction from a handler properly
Jing Xiangfeng (1):
IB/srpt: Remove WARN_ON from srpt_cm_req_recv
Kamal Heib (16):
RDMA/ipoib: Return void from ipoib_mcast_stop_thread()
RDMA/hfi1: Remove hfi1_create_qp declaration
RDMA/rxe: Remove unused rxe_mem_map_pages
RDMA/ipoib: Return void from ipoib_ib_dev_stop()
RDMA/rxe: Drop pointless checks in rxe_init_ports
RDMA/rxe: Return void from rxe_init_port_param()
RDMA/rxe: Return void from rxe_mem_init_dma()
RDMA/rxe: Remove rxe_link_layer()
RDMA/core: Expose pkeys sysfs files only if pkey_tbl_len is set
RDMA/core: Allocate the pkey cache only if the pkey_tbl_len is set
RDMA/core: Remove query_pkey from the mandatory ops
RDMA/siw: Remove the query_pkey callback
RDMA/cxgb4: Remove the query_pkey callback
RDMA/i40iw: Remove the query_pkey callback
RDMA/qedr: Remove the query_pkey callback
RDMA/rxe: Remove pkey table
Lang Cheng (4):
RDMA/hns: Remove redundant hardware opcode definitions
RDMA/hns: Remove support for HIP08_A
RDMA/hns: Delete unnecessary memset when allocating VF resource
RDMA/hns: Fix error during modify qp RTS2RTS
Leon Romanovsky (16):
RDMA/core: Delete not-used create RWQ table function
RDMA/mlx5: Get XRCD number directly for the internal use
RDMA/core: Create and destroy counters in the ib_core
RDMA: Move XRCD to be under ib_core responsibility
RDMA/mlx5: Limit the scope of mlx5_ib_enable_driver function
RDMA/mlx5: Separate restrack callbacks initialization from main.c
RDMA/mlx5: Separate counters from main.c
RDMA/mlx5: Separate flow steering logic from main.c
RDMA/mlx5: Cleanup DEVX initialization flow
RDMA/mlx5: Delete one-time used functions
RDMA/core: Align abort/commit object scheme for write() and ioctl() paths
RDMA/core: Update write interface to use automatic object lifetime
RDMA/uverbs: Remove redundant assignments
RDMA/uverbs: Silence shiftTooManyBitsSigned warning
RDMA/mlx5: Delete unreachable code
RDMA/include: Replace license text with SPDX tags
Li Heng (1):
RDMA/core: Fix return error value in _ib_modify_qp() to negative
Maor Gottlieb (14):
RDMA/core: Don't call fill_res_entry for PD
RDMA: Add dedicated MR resource tracker function
RDMA: Add a dedicated CQ resource tracker function
RDMA: Add dedicated QP resource tracker function
RDMA: Add dedicated CM_ID resource tracker function
RDMA: Add support to dump resource tracker in RAW format
RDMA/mlx5: Add support to get QP resource in RAW format
RDMA/mlx5: Add support to get CQ resource in RAW format
RDMA/mlx5: Add support to get MR resource in RAW format
RDMA/mlx5: Introduce ODP prefetch counter
RDMA/core: Clean ib_alloc_xrcd() and reuse it to allocate XRC domain
RDMA/core: Optimize XRC target lookup
RDMA/mlx5: Allow SQ modification
RDMA/mlx5: Add missing srcu_read_lock in ODP implicit flow
Mark Zhang (4):
RDMA/counter: Add PID category support in auto mode
RDMA/counter: Only bind user QPs in auto mode
RDMA/counter: Allow manually bind QPs with different pids to same counter
RDMA/netlink: Remove CAP_NET_RAW check when dump a raw QP
Max Gurtovoy (1):
IB/isert: allocate RW ctxs according to max IO size
Meir Lichtinger (3):
RDMA/mlx5: ConnectX-7 new capabilities to set relaxed ordering by UMR
RDMA/mlx5: Use MLX5_SET macro instead of local structure
RDMA/mlx5: Set mkey relaxed ordering by UMR with ConnectX-7
Michael Guralnik (4):
net/mlx5: Enable QP number request when creating IPoIB underlay QP
RDMA/ipoib: Handle user-supplied address when creating child
net/mlx5: Enable count action for rules with allow action
RDMA/mlx5: Fix flow destination setting for RDMA TX flow table
Michal Kalderon (2):
RDMA/qedr: Add EDPM mode type for user-fw compatibility
RDMA/qedr: Add EDPM max size to alloc ucontext response
Mikhail Malygin (1):
RDMA/rxe: Prevent access to wr->next ptr afrer wr is posted to send queue
Pavel Machek (1):
RDMA/mlx5: Fix typo in enum name
Randy Dunlap (1):
RDMA: rdma_user_ioctl.h: fix a duplicated word + clarify
Shay Drory (3):
IB/mad: Issue complete whenever decrements agent refcount
IB/mad: Change atomics to refcount API
IB/mad: Delete RMPP_STATE_CANCELING state
Weihang Li (2):
RDMA/hns: Refactor hns_roce_v2_set_hem()
RDMA/hns: Remove redundant parameters in set_rc_wqe()
Xi Wang (2):
RDMA/hns: Optimize MTR level-0 addressing to access huge page
RDMA/hns: Fix the unneeded process when getting a general type of CQE error
Yamin Friedman (3):
IB/iser: use new shared CQ mechanism
IB/isert: use new shared CQ mechanism
IB/srpt: use new shared CQ mechanism
Yishai Hadas (7):
IB/uverbs: Enable CQ ioctl commands by default
IB/uverbs: Set IOVA on IB MR in uverbs layer
IB/uverbs: Expose UAPI to query ucontext
RDMA/mlx5: Refactor mlx5_ib_alloc_ucontext() response
RDMA/mlx5: Implement the query ucontext functionality
RDMA/mlx5: Introduce UAPI to query PD attributes
IB/uverbs: Expose UAPI to query MR
Yuval Basson (1):
RDMA/qedr: SRQ's bug fixes
Zhu Yanjun (1):
RDMA/rxe: Skip dgid check in loopback mode
MAINTAINERS | 1 +
drivers/infiniband/Kconfig | 8 -
drivers/infiniband/core/cache.c | 45 +-
drivers/infiniband/core/cma.c | 257 +-
drivers/infiniband/core/counters.c | 24 +-
drivers/infiniband/core/device.c | 28 +-
drivers/infiniband/core/mad.c | 30 +-
drivers/infiniband/core/mad_priv.h | 2 +-
drivers/infiniband/core/mad_rmpp.c | 27 +-
drivers/infiniband/core/nldev.c | 223 +-
drivers/infiniband/core/sysfs.c | 61 +-
drivers/infiniband/core/trace.c | 2 -
drivers/infiniband/core/umem.c | 1 +
drivers/infiniband/core/umem_odp.c | 2 +
drivers/infiniband/core/uverbs_cmd.c | 321 +-
drivers/infiniband/core/uverbs_ioctl.c | 1 +
drivers/infiniband/core/uverbs_main.c | 4 +
.../infiniband/core/uverbs_std_types_counters.c | 17 +-
drivers/infiniband/core/uverbs_std_types_cq.c | 3 -
drivers/infiniband/core/uverbs_std_types_device.c | 48 +-
drivers/infiniband/core/uverbs_std_types_mr.c | 54 +-
drivers/infiniband/core/verbs.c | 185 +-
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 170 +-
drivers/infiniband/hw/bnxt_re/ib_verbs.h | 10 +-
drivers/infiniband/hw/bnxt_re/main.c | 23 +-
drivers/infiniband/hw/bnxt_re/qplib_fp.c | 751 ++--
drivers/infiniband/hw/bnxt_re/qplib_fp.h | 127 +-
drivers/infiniband/hw/bnxt_re/qplib_res.h | 58 +-
drivers/infiniband/hw/bnxt_re/roce_hsi.h | 1 +
drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 9 +-
drivers/infiniband/hw/cxgb4/mem.c | 3 +-
drivers/infiniband/hw/cxgb4/provider.c | 22 +-
drivers/infiniband/hw/cxgb4/restrack.c | 24 +-
drivers/infiniband/hw/efa/efa_admin_cmds_defs.h | 15 +-
drivers/infiniband/hw/efa/efa_com_cmd.c | 2 +
drivers/infiniband/hw/efa/efa_com_cmd.h | 2 +
drivers/infiniband/hw/efa/efa_main.c | 6 +-
drivers/infiniband/hw/efa/efa_verbs.c | 42 +
drivers/infiniband/hw/hfi1/chip.c | 27 +-
drivers/infiniband/hw/hfi1/firmware.c | 16 -
drivers/infiniband/hw/hfi1/mad.c | 9 +-
drivers/infiniband/hw/hfi1/pcie.c | 22 +-
drivers/infiniband/hw/hfi1/pio.c | 2 +-
drivers/infiniband/hw/hfi1/pio_copy.c | 12 +-
drivers/infiniband/hw/hfi1/platform.c | 10 +-
drivers/infiniband/hw/hfi1/qp.c | 2 +-
drivers/infiniband/hw/hfi1/qp.h | 14 -
drivers/infiniband/hw/hfi1/qsfp.c | 4 +-
drivers/infiniband/hw/hfi1/rc.c | 25 +-
drivers/infiniband/hw/hfi1/sdma.c | 9 +-
drivers/infiniband/hw/hfi1/tid_rdma.c | 4 +-
drivers/infiniband/hw/hfi1/uc.c | 8 +-
drivers/infiniband/hw/hns/hns_roce_device.h | 31 +-
drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 7 +-
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 253 +-
drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 19 +-
drivers/infiniband/hw/hns/hns_roce_main.c | 2 +-
drivers/infiniband/hw/hns/hns_roce_mr.c | 210 +-
drivers/infiniband/hw/hns/hns_roce_qp.c | 10 -
drivers/infiniband/hw/hns/hns_roce_restrack.c | 14 +-
drivers/infiniband/hw/i40iw/i40iw_verbs.c | 22 +-
drivers/infiniband/hw/mlx4/main.c | 37 +-
drivers/infiniband/hw/mlx4/mlx4_ib.h | 2 +-
drivers/infiniband/hw/mlx4/mr.c | 3 +-
drivers/infiniband/hw/mlx5/Makefile | 6 +-
drivers/infiniband/hw/mlx5/cmd.c | 12 -
drivers/infiniband/hw/mlx5/cmd.h | 1 -
drivers/infiniband/hw/mlx5/counters.c | 709 ++++
drivers/infiniband/hw/mlx5/counters.h | 17 +
drivers/infiniband/hw/mlx5/devx.c | 102 +-
drivers/infiniband/hw/mlx5/devx.h | 45 +
drivers/infiniband/hw/mlx5/flow.c | 765 ----
drivers/infiniband/hw/mlx5/fs.c | 2516 +++++++++++
drivers/infiniband/hw/mlx5/fs.h | 29 +
drivers/infiniband/hw/mlx5/main.c | 4380 +++++---------------
drivers/infiniband/hw/mlx5/mlx5_ib.h | 109 +-
drivers/infiniband/hw/mlx5/mr.c | 2 +-
drivers/infiniband/hw/mlx5/odp.c | 28 +-
drivers/infiniband/hw/mlx5/qp.c | 71 +-
drivers/infiniband/hw/mlx5/qp.h | 1 +
drivers/infiniband/hw/mlx5/restrack.c | 121 +-
drivers/infiniband/hw/mlx5/restrack.h | 13 +
drivers/infiniband/hw/mlx5/srq.c | 4 +-
drivers/infiniband/hw/mlx5/std_types.c | 45 +
drivers/infiniband/hw/mlx5/wr.c | 68 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 2 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.h | 2 +-
drivers/infiniband/hw/qedr/main.c | 3 +-
drivers/infiniband/hw/qedr/qedr.h | 5 +-
drivers/infiniband/hw/qedr/verbs.c | 45 +-
drivers/infiniband/hw/qedr/verbs.h | 2 +-
drivers/infiniband/hw/usnic/usnic_fwd.c | 4 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c | 2 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 2 +-
drivers/infiniband/sw/rdmavt/ah.c | 3 +-
drivers/infiniband/sw/rdmavt/mr.c | 2 +-
drivers/infiniband/sw/rdmavt/mr.h | 2 +-
drivers/infiniband/sw/rxe/rxe.c | 41 +-
drivers/infiniband/sw/rxe/rxe_loc.h | 8 +-
drivers/infiniband/sw/rxe/rxe_mr.c | 50 +-
drivers/infiniband/sw/rxe/rxe_net.c | 5 -
drivers/infiniband/sw/rxe/rxe_param.h | 4 +-
drivers/infiniband/sw/rxe/rxe_recv.c | 35 +-
drivers/infiniband/sw/rxe/rxe_req.c | 5 +-
drivers/infiniband/sw/rxe/rxe_verbs.c | 48 +-
drivers/infiniband/sw/rxe/rxe_verbs.h | 1 -
drivers/infiniband/sw/siw/siw_main.c | 1 -
drivers/infiniband/sw/siw/siw_verbs.c | 11 +-
drivers/infiniband/sw/siw/siw_verbs.h | 3 +-
drivers/infiniband/ulp/ipoib/ipoib.h | 4 +-
drivers/infiniband/ulp/ipoib/ipoib_ib.c | 67 +-
drivers/infiniband/ulp/ipoib/ipoib_main.c | 13 +-
drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 4 +-
drivers/infiniband/ulp/iser/iscsi_iser.h | 25 +-
drivers/infiniband/ulp/iser/iser_verbs.c | 112 +-
drivers/infiniband/ulp/isert/ib_isert.c | 175 +-
drivers/infiniband/ulp/isert/ib_isert.h | 21 +-
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.h | 23 +
drivers/infiniband/ulp/rtrs/rtrs-clt.c | 16 +-
drivers/infiniband/ulp/rtrs/rtrs-srv.c | 2 +-
drivers/infiniband/ulp/srpt/ib_srpt.c | 20 +-
drivers/infiniband/ulp/srpt/ib_srpt.h | 1 +
drivers/net/ethernet/mellanox/mlx5/core/alloc.c | 11 +-
drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 1 +
.../net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c | 7 +
drivers/net/ethernet/mellanox/mlx5/core/main.c | 3 +
include/linux/mlx5/device.h | 9 +-
include/linux/mlx5/driver.h | 2 +
include/linux/mlx5/mlx5_ifc.h | 129 +-
include/rdma/ib.h | 31 +-
include/rdma/ib_addr.h | 31 +-
include/rdma/ib_cache.h | 29 +-
include/rdma/ib_cm.h | 1 +
include/rdma/ib_hdrs.h | 44 +-
include/rdma/ib_mad.h | 31 +-
include/rdma/ib_marshall.h | 31 +-
include/rdma/ib_pack.h | 29 +-
include/rdma/ib_pma.h | 31 +-
include/rdma/ib_sa.h | 29 +-
include/rdma/ib_smi.h | 31 +-
include/rdma/ib_umem.h | 29 +-
include/rdma/ib_umem_odp.h | 29 +-
include/rdma/ib_verbs.h | 100 +-
include/rdma/iw_cm.h | 30 +-
include/rdma/iw_portmap.h | 30 +-
include/rdma/opa_addr.h | 44 +-
include/rdma/opa_port_info.h | 31 +-
include/rdma/opa_smi.h | 31 +-
include/rdma/opa_vnic.h | 49 +-
include/rdma/rdma_cm.h | 31 +-
include/rdma/rdma_cm_ib.h | 31 +-
include/rdma/rdma_netlink.h | 2 +-
include/rdma/rdma_vt.h | 50 +-
include/rdma/rdmavt_cq.h | 53 +-
include/rdma/rdmavt_mr.h | 50 +-
include/rdma/rdmavt_qp.h | 50 +-
include/rdma/uverbs_ioctl.h | 30 +-
include/rdma/uverbs_named_ioctl.h | 29 +-
include/rdma/uverbs_std_types.h | 43 +-
include/rdma/uverbs_types.h | 29 +-
include/uapi/rdma/efa-abi.h | 15 +-
include/uapi/rdma/ib_user_ioctl_cmds.h | 15 +
include/uapi/rdma/mlx5_user_ioctl_cmds.h | 16 +-
include/uapi/rdma/qedr-abi.h | 10 +-
include/uapi/rdma/rdma_netlink.h | 9 +
include/uapi/rdma/rdma_user_ioctl.h | 2 +-
166 files changed, 6945 insertions(+), 7569 deletions(-)
(diffstat from tag for-linus-merged)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2020-07-31 15:17 Jason Gunthorpe
2020-07-31 16:45 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2020-07-31 15:17 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1988 bytes --]
Hi Linus,
Still a few regressions from the merge window and the usual collection of
fixes.
The following changes since commit 92ed301919932f777713b9172e525674157e983d:
Linux 5.8-rc7 (2020-07-26 14:14: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 fb448ce87a4a9482b084e67faf804aec79ed9b43:
RDMA/core: Free DIM memory in error unwind (2020-07-30 11:03:33 -0300)
----------------------------------------------------------------
RDMA fourth 5.8 rc pull request
Two more merge window regressions, a corruption bug in hfi1 and a few
other small fixes.
- Missing user input validation regression in ucma
- Disallowing a previously allowed user combination regression in mlx5
- ODP prefetch memory leaking triggerable by userspace
- Memory corruption in hf1 due to faulty ring buffer logic
- Missed mutex initialization crash in mlx5
- Two small defects with RDMA DIM
----------------------------------------------------------------
Jason Gunthorpe (2):
RDMA/cm: Add min length checks to user structure copies
RDMA/mlx5: Fix prefetch memory leak if get_prefetchable_mr fails
Leon Romanovsky (4):
RDMA/mlx5: Allow providing extra scatter CQE QP flag
RDMA/mlx5: Initialize QP mutex for the debug kernels
RDMA/core: Stop DIM before destroying CQ
RDMA/core: Free DIM memory in error unwind
Mike Marciniszyn (1):
IB/rdmavt: Fix RQ counting issues causing use of an invalid RWQE
drivers/infiniband/core/cq.c | 14 +++++++++++---
drivers/infiniband/core/ucma.c | 4 ++++
drivers/infiniband/hw/mlx5/odp.c | 5 ++---
drivers/infiniband/hw/mlx5/qp.c | 29 ++++++++++++++++-------------
drivers/infiniband/sw/rdmavt/qp.c | 33 ++++-----------------------------
drivers/infiniband/sw/rdmavt/rc.c | 4 +---
include/rdma/rdmavt_qp.h | 19 +++++++++++++++++++
7 files changed, 57 insertions(+), 51 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2020-07-24 17:47 Jason Gunthorpe
2020-07-24 21:40 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2020-07-24 17:47 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1810 bytes --]
Hi Linus,
Things remain quiet here, a few more of the usual fixes.
The following changes since commit 11ba468877bb23f28956a35e896356252d63c983:
Linux 5.8-rc5 (2020-07-12 16:34:50 -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 a862192e9227ad46e0447fd0a03869ba1b30d16f:
RDMA/mlx5: Prevent prefetch from racing with implicit destruction (2020-07-21 13:51:35 -0300)
----------------------------------------------------------------
RDMA third 5.8 rc pull request
One merge window regression, some corruption bugs in HNS and a few more
syzkaller fixes.
- Two long standing syzkaller races
- Fix incorrect HW configuration in HNS
- Restore accidentally dropped locking in IB CM
- Fix ODP prefetch bug added in the big rework several versions ago
----------------------------------------------------------------
Jason Gunthorpe (1):
RDMA/mlx5: Prevent prefetch from racing with implicit destruction
Leon Romanovsky (1):
RDMA/core: Fix race in rdma_alloc_commit_uobject()
Maor Gottlieb (2):
RDMA/mlx5: Use xa_lock_irq when access to SRQ table
RDMA/cm: Protect access to remote_sidr_table
Weihang Li (1):
RDMA/hns: Fix wrong assignment of lp_pktn_ini in QPC
Xi Wang (1):
RDMA/hns: Fix wrong PBL offset when VA is not aligned to PAGE_SIZE
drivers/infiniband/core/cm.c | 2 ++
drivers/infiniband/core/rdma_core.c | 6 +++---
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 34 +++++++++++++++++++-----------
drivers/infiniband/hw/hns/hns_roce_mr.c | 2 +-
drivers/infiniband/hw/mlx5/odp.c | 22 ++++++++++++++++---
drivers/infiniband/hw/mlx5/srq_cmd.c | 4 ++--
6 files changed, 49 insertions(+), 21 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2020-07-10 17:58 Jason Gunthorpe
2020-07-10 22:10 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2020-07-10 17:58 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 2118 bytes --]
Hi Linus,
Second rc pull request
Fairly normal here, things are actually somewhat quiet when look at
the next release.
Thanks,
Jason
The following changes since commit 9ebcfadb0610322ac537dd7aa5d9cbc2b2894c68:
Linux 5.8-rc3 (2020-06-28 15:00:24 -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 0a03715068794e4b524f66ebbf412ab1f2933f3f:
RDMA/mlx5: Set PD pointers for the error flow unwind (2020-07-08 20:15:59 -0300)
----------------------------------------------------------------
RDMA second 5.8 rc pull request
Small update, a few more merge window bugs and normal driver bug fixes:
- Two merge window regressions in mlx5: a error path bug found by
syzkaller and some lost code during a rework preventing ipoib from
working in some configurations
- Silence clang compilation warning in OPA related code
- Fix a long standing race condition in ib_nl for ACM
- Resolve when the HFI1 is shutdown
----------------------------------------------------------------
Aya Levin (1):
IB/mlx5: Fix 50G per lane indication
Divya Indi (1):
IB/sa: Resolv use-after-free in ib_nl_make_request()
Kaike Wan (2):
IB/hfi1: Do not destroy hfi1_wq when the device is shut down
IB/hfi1: Do not destroy link_wq when the device is shut down
Kamal Heib (1):
RDMA/siw: Fix reporting vendor_part_id
Leon Romanovsky (2):
RDMA/mlx5: Fix legacy IPoIB QP initialization
RDMA/mlx5: Set PD pointers for the error flow unwind
Nathan Chancellor (1):
IB/hfi1: Add explicit cast OPA_MTU_8192 to 'enum ib_mtu'
drivers/infiniband/core/sa_query.c | 38 ++++++++++++++++-------------------
drivers/infiniband/hw/hfi1/init.c | 37 +++++++++++++++++++++++++---------
drivers/infiniband/hw/hfi1/qp.c | 7 +++++--
drivers/infiniband/hw/hfi1/tid_rdma.c | 5 ++++-
drivers/infiniband/hw/mlx5/main.c | 2 +-
drivers/infiniband/hw/mlx5/qp.c | 7 ++++++-
drivers/infiniband/sw/siw/siw_main.c | 3 ++-
7 files changed, 63 insertions(+), 36 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2020-06-25 17:56 Jason Gunthorpe
2020-06-25 20:15 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2020-06-25 17:56 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 4202 bytes --]
Hi Linus,
First rc pull request
Collected fixes from the last four weeks, fixing several regressions
in areas that had big changes this cycle.
Thanks,
Jason
The following changes since commit b3a9e3b9622ae10064826dccb4f7a52bd88c7407:
Linux 5.8-rc1 (2020-06-14 12:45:04 -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 38fd98afeeb79d3b148db49f81f2ec6a37a4ee00:
IB/hfi1: Add atomic triggered sleep/wakeup (2020-06-24 16:13:38 -0300)
----------------------------------------------------------------
RDMA first 5.8 rc pull request
Several regression fixes from work that landed in the merge window,
particularly in the mlx5 driver:
- Various static checker and warning fixes
- General bug fixes in rvt, qedr, hns, mlx5 and hfi1
- Several regression fixes related to the ECE and QP changes in last cycle
- Fixes for a few long standing crashers in CMA, uverbs ioctl, and xrc
----------------------------------------------------------------
Aditya Pakki (1):
RDMA/rvt: Fix potential memory leak caused by rvt_alloc_rq
Colin Ian King (1):
RDMA/mlx5: Remove duplicated assignment to resp.response_length
Dennis Dalessandro (2):
IB/hfi1: Restore kfree in dummy_netdev cleanup
IB/hfi1: Fix module use count flaw due to leftover module put calls
Fan Guo (1):
RDMA/mad: Fix possible memory leak in ib_mad_post_receive_mads()
Gal Pressman (1):
RDMA/efa: Set maximum pkeys device attribute
Kieran Bingham (1):
RDMA/hfi1: Fix trivial mis-spelling of 'descriptor'
Leon Romanovsky (6):
RDMA/core: Annotate CMA unlock helper routine
RDMA/mlx5: Add missed RST2INIT and INIT2INIT steps during ECE handshake
RDMA/core: Check that type_attrs is not NULL prior access
RDMA/mlx5: Don't access ib_qp fields in internal destroy QP path
RDMA/mlx5: Remove ECE limitation from the RAW_PACKET QPs
RDMA/mlx5: Protect from kernel crash if XRC_TGT doesn't have udata
Maor Gottlieb (1):
RDMA/mlx5: Fix remote gid value in query QP
Mark Zhang (2):
RDMA/cma: Protect bind_list and listen_list while finding matching cm id
RDMA/counter: Query a counter before release
Max Gurtovoy (1):
RDMA/mlx5: Fix integrity enabled QP creation
Michal Kalderon (1):
RDMA/qedr: Fix KASAN: use-after-free in ucma_event_handler+0x532
Mike Marciniszyn (2):
IB/hfi1: Correct -EBUSY handling in tx code
IB/hfi1: Add atomic triggered sleep/wakeup
Shay Drory (1):
IB/mad: Fix use after free when destroying MAD agent
Tom Seewald (2):
RDMA/mlx5: Fix -Wformat warning in check_ucmd_data()
RDMA/siw: Fix pointer-to-int-cast warning in siw_rx_pbl()
Yangyang Li (2):
RDMA/hns: Fix a calltrace when registering MR from userspace
RDMA/hns: Fix an cmd queue issue when resetting
drivers/infiniband/core/cm.c | 1 +
drivers/infiniband/core/cma.c | 18 +++++
drivers/infiniband/core/counters.c | 4 +-
drivers/infiniband/core/mad.c | 3 +-
drivers/infiniband/core/rdma_core.c | 36 ++++++----
drivers/infiniband/hw/efa/efa_verbs.c | 1 +
drivers/infiniband/hw/hfi1/debugfs.c | 19 +----
drivers/infiniband/hw/hfi1/iowait.h | 2 +-
drivers/infiniband/hw/hfi1/ipoib.h | 6 ++
drivers/infiniband/hw/hfi1/ipoib_tx.c | 104 ++++++++++++++++++----------
drivers/infiniband/hw/hfi1/netdev_rx.c | 2 +-
drivers/infiniband/hw/hfi1/verbs_txreq.h | 2 +-
drivers/infiniband/hw/hns/hns_roce_device.h | 7 +-
drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 4 +-
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 17 ++---
drivers/infiniband/hw/hns/hns_roce_mr.c | 5 +-
drivers/infiniband/hw/mlx5/qp.c | 50 ++++++-------
drivers/infiniband/hw/mlx5/qpc.c | 8 +++
drivers/infiniband/hw/qedr/qedr_iw_cm.c | 13 +++-
drivers/infiniband/sw/rdmavt/qp.c | 6 +-
drivers/infiniband/sw/siw/siw_qp_rx.c | 3 +-
include/linux/mlx5/mlx5_ifc.h | 10 +--
22 files changed, 197 insertions(+), 124 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2020-06-04 19:51 Jason Gunthorpe
2020-06-05 21:15 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2020-06-04 19:51 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 32342 bytes --]
Hi Linus,
These are the proposed RDMA patches for 5.8.
A more active cycle than most of the recent past. In particular the new RNBD
block driver was Ack'd by Jens and is flowing through RDMA due to it also
introducing a new ULP.
Also a heads up, Mellanox has been acquired by NVIDIA and you'll probably see
a new email address from me and others this next cycle.
Thanks,
Jason
The following changes since commit 6b646a7e4af69814dd1a3340fca0f02d4977420d:
net/mlx5: Add ability to read and write ECE options (2020-05-27 14:08:28 +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 fba97dc7fc76b2c9a909fa0b3786d30a9899f5cf:
RDMA/cm: Spurious WARNING triggered in cm_destroy_id() (2020-06-03 15:48:18 -0300)
----------------------------------------------------------------
RDMA 5.8 merge window pull request
A few large, long discussed works this time. The RNBD block driver has
been posted for nearly two years now, and the removal of FMR has been a
recurring discussion theme for a long time. The usual smattering of
features and bug fixes.
- Various small driver bugs fixes in rxe, mlx5, hfi1, and efa
- Continuing driver cleanups in bnxt_re, hns
- Big cleanup of mlx5 QP creation flows
- More consistent use of src port and flow label when LAG is used and a
mlx5 implementation
- Additional set of cleanups for IB CM
- 'RNBD' network block driver and target. This is a network block RDMA
device specific to ionos's cloud environment. It brings strong multipath
and resiliency capabilities.
- Accelerated IPoIB for HFI1
- QP/WQ/SRQ ioctl migration for uverbs, and support for multiple async fds
- Support for exchanging the new IBTA defiend ECE data during RDMA CM
exchanges
- Removal of the very old and insecure FMR interface from all ULPs and
drivers. FRWR should be preferred for at least a decade now.
----------------------------------------------------------------
Aharon Landau (2):
RDMA/mlx5: Verify that QP is created with RQ or SQ
RDMA/mlx5: Add init2init as a modify command
Bart Van Assche (4):
RDMA/srp: Make the channel count configurable per target
RDMA/srpt: Make debug output more detailed
RDMA/srpt: Reduce max_recv_sge to 1
RDMA/srpt: Increase max_send_sge
Chuck Lever (1):
RDMA/core: Move and rename trace_cm_id_create()
Colin Ian King (3):
RDMA/mlx5: Remove duplicated assignment to variable rcqe_sz
RDMA/hns: remove duplicate assignment to pointer raq
IB/hfi1: Fix spelling mistake "enought" -> "enough"
Dan Carpenter (5):
RDMA/rtrs: Fix some signedness bugs in error handling
RDMA/rtrs: Fix a couple off by one bugs in rtrs_srv_rdma_done()
block/rnbd: Fix an IS_ERR() vs NULL check in find_or_create_sess()
IB/hfi1: Fix hfi1_netdev_rx_init() error handling
RDMA/hns: Uninitialized variable in modify_qp_init_to_rtr()
Danil Kipnis (3):
rnbd/rtrs: Pass max segment size from blk user to the rdma library
RDMA/rnbd: Fix compilation error when CONFIG_MODULES is disabled
RDMA/rtrs: Get rid of the do_next_path while_next_path macros
Danit Goldberg (1):
RDMA/cm: Remove unused store to ret in cm_rej_handler
Daria Velikovsky (1):
RDMA/mlx5: Add support for drop action in DV steering
Devesh Sharma (4):
RDMA/bnxt_re: Reduce device page size detection code
RDMA/bnxt_re: Update missing hsi data structures
RDMA/bnxt_re: Simplify obtaining queue entry from hw ring
RDMA/bnxt_re: Remove dead code from rcfw
Gal Pressman (6):
RDMA/efa: Report create CQ error counter
RDMA/efa: Count mmap failures
RDMA/efa: Count admin commands errors
RDMA/efa: Fix setting of wrong bit in get/set_feature commands
RDMA/efa: Report host information to the device
RDMA/mlx5: Remove FMR leftovers
Gary Leshner (6):
IB/hfi1: Add functions to transmit datagram ipoib packets
IB/hfi1: Add the transmit side of a datagram ipoib RDMA netdev
IB/hfi1: Remove module parameter for KDETH qpns
IB/{rdmavt, hfi1}: Implement creation of accelerated UD QPs
IB/{hfi1, ipoib, rdma}: Broadcast ping sent packets which exceeded mtu size
IB/ipoib: Add capability to switch between datagram and connected mode
Grzegorz Andrejczuk (6):
IB/hfi1: RSM rules for AIP
IB/hfi1: Rename num_vnic_contexts as num_netdev_contexts
IB/hfi1: Add interrupt handler functions for accelerated ipoib
IB/hfi1: Add rx functions for dummy netdev
IB/hfi1: Activate the dummy netdev
IB/hfi1: Add packet histogram trace event
Gustavo A. R. Silva (4):
IB/rdmavt: Replace zero-length array with flexible-array
RDMA/rtrs: client: Fix function return on success
RDMA/siw: Replace one-element array and use struct_size() helper
RDMA/core: Use sizeof_field() helper
Israel Rukshin (1):
RDMA/iser: Remove support for FMR memory registration
Jack Wang (25):
sysfs: export sysfs_remove_file_self()
RDMA/rtrs: public interface header to establish RDMA connections
RDMA/rtrs: private headers with rtrs protocol structs and helpers
RDMA/rtrs: core: lib functions shared between client and server modules
RDMA/rtrs: client: private header with client structs and functions
RDMA/rtrs: client: main functionality
RDMA/rtrs: client: statistics functions
RDMA/rtrs: client: sysfs interface functions
RDMA/rtrs: server: private header with server structs and functions
RDMA/rtrs: server: main functionality
RDMA/rtrs: server: statistics functions
RDMA/rtrs: server: sysfs interface functions
RDMA/rtrs: include client and server modules into kernel compilation
RDMA/rtrs: a bit of documentation
block/rnbd: private headers with rnbd protocol structs and helpers
block/rnbd: client: private header with client structs and functions
block/rnbd: client: main functionality
block/rnbd: client: sysfs interface functions
block/rnbd: server: private header with server structs and functions
block/rnbd: server: main functionality
block/rnbd: server: functionality for IO submitting to block dev
block/rnbd: server: sysfs interface functions
block/rnbd: include client and server modules into kernel compilation
block/rnbd: a bit of documentation
MAINTAINERS: Add maintainers for RNBD/RTRS modules
Jason Gunthorpe (24):
RDMA/uverbs: Make the event_queue fds return POLLERR when disassociated
RDMA: Remove a few extra calls to ib_get_client_data()
Merge branch 'mlx5_ib_qp_refactor_1' into rdma.git for-next
Merge branch 'mellanox/mlx5-next' into rdma.git for-next
RDMA: Allow ib_client's to fail when add() is called
RDMA/addr: Mark addr_resolve as might_sleep()
RDMA/cm: Remove return code from add_cm_id_to_port_list
RDMA/cm: Pull duplicated code into cm_queue_work_unlock()
RDMA/cm: Pass the cm_id_private into cm_cleanup_timewait
RDMA/cm: Add a note explaining how the timewait is eventually freed
RDMA/cm: Make find_remote_id() return a cm_id_private
RDMA/cm: Remove the cm_free_id() wrapper function
RDMA/cm: Remove needless cm_id variable
RDMA/cm: Increment the refcount inside cm_find_listen()
Merge branch 'mellanox/mlx5-next' into rdma.git for/next
RDMA/core: Consolidate ib_create_srq flows
Merge tag 'v5.7-rc6' into rdma.git for-next
RDMA/core: Allow the ioctl layer to abort a fully created uobject
Merge branch 'mellanox/mlx5-next' into rdma.git for/next
RDMA/core: Use offsetofend() instead of open coding
RDMA/bnxt_re: Remove FMR leftovers
RDMA/i40iw: Remove FMR leftovers
RDMA: Remove 'max_fmr'
RDMA: Remove 'max_map_per_fmr'
Ka-Cheong Poon (1):
RDMA/cm: Spurious WARNING triggered in cm_destroy_id()
Kaike Wan (3):
IB/hfi1: Add accelerated IP capability bit
IB/ipoib: Increase ipoib Datagram mode MTU's upper limit
IB/hfi1: Add functions to receive accelerated ipoib packets
Kamal Heib (2):
RDMA/srpt: Fix disabling device management
RDMA/ipoib: Remove can_sleep parameter from iboib_mcast_alloc
Lang Cheng (11):
RDMA/hns: Simplify the qp state convert code
RDMA/hns: Simplify the cqe code of poll cq
RDMA/hns: Simplify the state judgment code of qp
RDMA/hns: Simplify the status judgment code of hns_roce_v1_m_qp()
RDMA/hns: Combine enable flags of qp
RDMA/hns: Fix cmdq parameter of querying pf timer resource
RDMA/hns: Store mr len information into mr obj
RDMA/hns: Let software PI/CI grow naturally
RDMA/hns: Add CQ flag instead of independent enable flag
RDMA/hns: Optimize post and poll process
RDMA/hns: Simplify process related to poll cq
Leon Romanovsky (57):
RDMA/cma: Limit the scope of rdma_is_consumer_reject function
RDMA/bnxt: Delete 'nq_ptr' variable which is not used
RDMA/mlx5: Organize QP types checks in one place
RDMA/mlx5: Delete impossible GSI port check
RDMA/mlx5: Perform check if QP creation flow is valid
RDMA/mlx5: Prepare QP allocation for future removal
RDMA/mlx5: Avoid setting redundant NULL for XRC QPs
RDMA/mlx5: Set QP subtype immediately when it is known
RDMA/mlx5: Separate create QP flows to be based on type
RDMA/mlx5: Split scatter CQE configuration for DCT QP
RDMA/mlx5: Update all DRIVER QP places to use QP subtype
RDMA/mlx5: Move DRIVER QP flags check into separate function
RDMA/mlx5: Remove second copy from user for non RSS RAW QPs
RDMA/mlx5: Initial separation of RAW_PACKET QP from common flow
RDMA/mlx5: Delete create QP flags obfuscation
RDMA/mlx5: Process create QP flags in one place
RDMA/mlx5: Use flags_en mechanism to mark QP created with WQE signature
RDMA/mlx5: Change scatter CQE flag to be set like other vendor flags
RDMA/mlx5: Return all configured create flags through query QP
RDMA/mlx5: Process all vendor flags in one place
RDMA/mlx5: Delete unsupported QP types
RDMA/mlx5: Store QP type in the vendor QP structure
RDMA/mlx5: Promote RSS RAW QP attribute check in higher level
RDMA/mlx5: Combine copy of create QP command in RSS RAW QP
RDMA/mlx5: Remove second user copy in create_user_qp
RDMA/mlx5: Rely on existence of udata to separate kernel/user flows
RDMA/mlx5: Delete impossible inlen check
RDMA/mlx5: Globally parse DEVX UID
RDMA/mlx5: Separate XRC_TGT QP creation from common flow
RDMA/mlx5: Separate to user/kernel create QP flows
RDMA/mlx5: Reduce amount of duplication in QP destroy
RDMA/mlx5: Group all create QP parameters to simplify in-kernel interfaces
RDMA/mlx5: Promote RSS RAW QP flags check to higher level
RDMA/mlx5: Handle udate outlen checks in one place
RDMA/mlx5: Copy response to the user in one place
RDMA/mlx5: Remove redundant destroy QP call
RDMA/mlx5: Consolidate into special function all create QP calls
RDMA/mlx5: Update mlx5_ib to use new cmd interface
RDMA/mlx5: Move all WR logic from qp.c to separate file
RDMA/ucma: Return stable IB device index as identifier
RDMA/mlx5: Fix query_srq_cmd() function
RDMA/cm: Add Enhanced Connection Establishment (ECE) bits
RDMA/ucma: Extend ucma_connect to receive ECE parameters
RDMA/ucma: Deliver ECE parameters through UCMA events
RDMA/cm: Send and receive ECE parameter over the wire
RDMA/cma: Connect ECE to rdma_accept
RDMA/cma: Provide ECE reject reason
RDMA/mlx5: Get ECE options from FW during create QP
RDMA/mlx5: Set ECE options during QP create
RDMA/mlx5: Use direct modify QP implementation
RDMA/mlx5: Remove manually crafted QP context the query call
RDMA/mlx5: Convert modify QP to use MLX5_SET macros
RDMA/mlx5: Set ECE options during modify QP
RDMA/mlx5: Return ECE data after modify QP
RDMA/mlx5: Return an error if copy_to_user fails
RDMA/mlx5: Don't rely on FW to set zeros in ECE response
RDMA/mlx5: Return ECE DC support
Lijun Ou (4):
RDMA/hns: Optimize hns_roce_config_link_table()
RDMA/hns: Optimize hns_roce_v2_set_mac()
RDMA/hns: Bugfix for querying qkey
RDMA/hns: Reserve one sge in order to avoid local length error
Maor Gottlieb (10):
RDMA: Group create AH arguments in struct
RDMA/core: Add LAG functionality
RDMA/core: Get xmit slave for LAG
RDMA/mlx5: Refactor affinity related code
RDMA/mlx5: Set lag tx affinity according to slave
RDMA/mad: Remove snoop interface
RDMA/core: Consider flow label when building skb
RDMA/mlx5: Refactor DV create flow
RDMA/mlx5: Add support in steering default miss
IB/cma: Fix ports memory leak in cma_configfs
Mark Bloch (2):
RDMA/mlx5: Assign profile before calling stages
RDMA/mlx5: Allow only raw Ethernet QPs when RoCE isn't enabled
Mark Zhang (6):
RDMA/core: Add hash functions to calculate RoCEv2 flowlabel and UDP source port
RDMA/mlx5: Define RoCEv2 udp source port when set path
RDMA/cma: Initialize the flow label of CM's route path record
RDMA/mlx5: Set UDP source port based on the grh.flow_label
IB/mlx5: Fix DEVX support for MLX5_CMD_OP_INIT2INIT_QP command
RDMA/mlx5: Support TX port affinity for VF drivers in LAG mode
Mauro Carvalho Chehab (1):
IB: Fix some documentation warnings
Max Gurtovoy (9):
RDMA/rw: use DIV_ROUND_UP to calculate nr_ops
RDMA/mlx5: Refactor mlx5_post_send() to improve readability
RDMA/srp: Remove support for FMR memory registration
RDMA/rds: Remove FMR support for memory registration
RDMA/core: Remove FMR pool API
RDMA/mlx4: Remove FMR support for memory registration
RDMA/mthca: Remove FMR support for memory registration
RDMA/rdmavt: Remove FMR memory registration
RDMA/core: Remove FMR device ops
Md Haris Iqbal (1):
RDMA/rtrs: server: Use already dereferenced rtrs_sess structure
Piotr Stankiewicz (1):
IB/hfi1: Enable the transmit side of the datagram ipoib netdev
Potnuri Bharat Teja (1):
RDMA/iw_cxgb4: cleanup device debugfs entries on ULD remove
Qiushi Wu (1):
RDMA/core: Fix several reference count leaks.
Shay Drory (1):
RDMA/mlx5: Update mlx5_ib driver name
Wei Yongjun (1):
RDMA/rtrs: server: Fix some error return code
Weihang Li (9):
RDMA/hns: Fix comments with non-English symbols
RDMA/hns: Adjust lp_pktn_ini dynamically
RDMA/hns: Extend capability flags for HIP08_C
RDMA/hns: Fix wrong assignment of SRQ's max_wr
RDMA/hns: Fix error with to_hr_hem_entries_count()
RDMA/hns: Remove redundant memcpy()
RDMA/hns: Change all page_shift to unsigned
RDMA/hns: Change variables representing quantity to unsigned
RDMA/hns: Remove redundant type cast for general pointers
Wenpeng Liang (3):
RDMA/hns: Remove redundant assignment of caps
RDMA/hns: Fix assignment to ba_pg_sz of eqe
RDMA/hns: Remove redundant parameters from free_srq/qp_wrid()
Xi Wang (14):
RDMA/hns: Add support for addressing when hopnum is 0
RDMA/hns: Optimize hns buffer allocation flow
RDMA/hns: Optimize 0 hop addressing for EQE buffer
RDMA/hns: Support 0 hop addressing for WQE buffer
RDMA/hns: Support 0 hop addressing for SRQ buffer
RDMA/hns: Support 0 hop addressing for CQE buffer
RDMA/hns: Optimize PBL buffer allocation process
RDMA/hns: Remove unused MTT functions
RDMA/hns: Optimize WQE buffer size calculating process
RDMA/hns: Optimize SRQ buffer size calculating process
RDMA/hns: Rename macro for defining hns hardware page size
RDMA/hns: Rename QP buffer related function
RDMA/hns: Refactor the QP context filling process related to WQE buffer configure
RDMA/hns: Optimize the usage of MTR
Xiongfeng Wang (1):
RDMA/srpt: Add a newline when printing parameter 'srpt_service_guid' by sysfs
Yamin Friedman (2):
RDMA/core: Add protection for shared CQs used by ULPs
RDMA/core: Introduce shared CQ pool API
Yangyang Li (1):
RDMA/hns: Remove unused code about assert
Yishai Hadas (9):
RDMA/mlx5: Fix udata response upon SRQ creation
RDMA/uverbs: Cleanup wq/srq context usage from uverbs layer
RDMA/uverbs: Fix create WQ to use the given user handle
IB/uverbs: Refactor related objects to use their own asynchronous event FD
IB/uverbs: Extend CQ to get its own asynchronous event FD
IB/uverbs: Move QP, SRQ, WQ type and flags to UAPI
IB/uverbs: Introduce create/destroy SRQ commands over ioctl
IB/uverbs: Introduce create/destroy WQ commands over ioctl
IB/uverbs: Introduce create/destroy QP commands over ioctl
Yixian Liu (2):
RDMA/hns: Move SRQ code to the reasonable place
RDMA/hns: Make the end of sge process more clear
YueHaibing (1):
IB/hfi1: Use free_netdev() in hfi1_netdev_free()
Zhu Yanjun (1):
RDMA/rxe: Set default vendor ID
Zou Wei (1):
IB/qib: Remove unused variable ret
Documentation/ABI/testing/sysfs-block-rnbd | 46 +
Documentation/ABI/testing/sysfs-class-rnbd-client | 111 +
Documentation/ABI/testing/sysfs-class-rnbd-server | 50 +
Documentation/ABI/testing/sysfs-class-rtrs-client | 131 +
Documentation/ABI/testing/sysfs-class-rtrs-server | 53 +
Documentation/driver-api/infiniband.rst | 3 -
Documentation/infiniband/core_locking.rst | 2 -
MAINTAINERS | 14 +
drivers/block/Kconfig | 2 +
drivers/block/Makefile | 1 +
drivers/block/rnbd/Kconfig | 28 +
drivers/block/rnbd/Makefile | 15 +
drivers/block/rnbd/README | 92 +
drivers/block/rnbd/rnbd-clt-sysfs.c | 639 ++++
drivers/block/rnbd/rnbd-clt.c | 1729 +++++++++
drivers/block/rnbd/rnbd-clt.h | 156 +
drivers/block/rnbd/rnbd-common.c | 23 +
drivers/block/rnbd/rnbd-log.h | 41 +
drivers/block/rnbd/rnbd-proto.h | 303 ++
drivers/block/rnbd/rnbd-srv-dev.c | 134 +
drivers/block/rnbd/rnbd-srv-dev.h | 92 +
drivers/block/rnbd/rnbd-srv-sysfs.c | 215 ++
drivers/block/rnbd/rnbd-srv.c | 844 +++++
drivers/block/rnbd/rnbd-srv.h | 78 +
drivers/infiniband/Kconfig | 1 +
drivers/infiniband/core/Makefile | 9 +-
drivers/infiniband/core/addr.c | 4 +
drivers/infiniband/core/cm.c | 306 +-
drivers/infiniband/core/cma.c | 114 +-
drivers/infiniband/core/cma_configfs.c | 13 +
drivers/infiniband/core/cma_priv.h | 1 +
drivers/infiniband/core/cma_trace.h | 20 +-
drivers/infiniband/core/core_priv.h | 3 +
drivers/infiniband/core/cq.c | 173 +
drivers/infiniband/core/device.c | 22 +-
drivers/infiniband/core/fmr_pool.c | 494 ---
drivers/infiniband/core/lag.c | 138 +
drivers/infiniband/core/mad.c | 255 +-
drivers/infiniband/core/multicast.c | 12 +-
drivers/infiniband/core/rdma_core.c | 25 +-
drivers/infiniband/core/rdma_core.h | 7 +-
drivers/infiniband/core/rw.c | 2 +-
drivers/infiniband/core/sa_query.c | 51 +-
drivers/infiniband/core/sysfs.c | 10 +-
drivers/infiniband/core/ucma.c | 65 +-
drivers/infiniband/core/ud_header.c | 2 +-
drivers/infiniband/core/user_mad.c | 22 +-
drivers/infiniband/core/uverbs.h | 21 +-
drivers/infiniband/core/uverbs_cmd.c | 76 +-
drivers/infiniband/core/uverbs_ioctl.c | 24 +-
drivers/infiniband/core/uverbs_main.c | 40 +-
drivers/infiniband/core/uverbs_std_types.c | 95 -
drivers/infiniband/core/uverbs_std_types_cq.c | 17 +-
drivers/infiniband/core/uverbs_std_types_mr.c | 12 +-
drivers/infiniband/core/uverbs_std_types_qp.c | 401 ++
drivers/infiniband/core/uverbs_std_types_srq.c | 234 ++
drivers/infiniband/core/uverbs_std_types_wq.c | 194 +
drivers/infiniband/core/uverbs_uapi.c | 3 +
drivers/infiniband/core/verbs.c | 159 +-
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 76 +-
drivers/infiniband/hw/bnxt_re/ib_verbs.h | 18 +-
drivers/infiniband/hw/bnxt_re/qplib_fp.c | 357 +-
drivers/infiniband/hw/bnxt_re/qplib_fp.h | 42 +-
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 88 +-
drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 91 -
drivers/infiniband/hw/bnxt_re/qplib_res.c | 1 +
drivers/infiniband/hw/bnxt_re/qplib_res.h | 53 +
drivers/infiniband/hw/bnxt_re/qplib_sp.c | 3 -
drivers/infiniband/hw/bnxt_re/qplib_sp.h | 2 -
drivers/infiniband/hw/bnxt_re/roce_hsi.h | 106 +
drivers/infiniband/hw/cxgb4/device.c | 1 +
drivers/infiniband/hw/efa/efa.h | 6 +-
drivers/infiniband/hw/efa/efa_admin_cmds_defs.h | 63 +-
drivers/infiniband/hw/efa/efa_com.c | 5 +-
drivers/infiniband/hw/efa/efa_com.h | 3 +-
drivers/infiniband/hw/efa/efa_com_cmd.c | 18 +-
drivers/infiniband/hw/efa/efa_com_cmd.h | 11 +-
drivers/infiniband/hw/efa/efa_main.c | 52 +-
drivers/infiniband/hw/efa/efa_verbs.c | 19 +-
drivers/infiniband/hw/hfi1/Makefile | 4 +
drivers/infiniband/hw/hfi1/affinity.c | 12 +-
drivers/infiniband/hw/hfi1/affinity.h | 3 +-
drivers/infiniband/hw/hfi1/chip.c | 303 +-
drivers/infiniband/hw/hfi1/chip.h | 5 +-
drivers/infiniband/hw/hfi1/common.h | 13 +-
drivers/infiniband/hw/hfi1/driver.c | 231 +-
drivers/infiniband/hw/hfi1/file_ops.c | 4 +-
drivers/infiniband/hw/hfi1/hfi.h | 38 +-
drivers/infiniband/hw/hfi1/init.c | 13 +-
drivers/infiniband/hw/hfi1/ipoib.h | 171 +
drivers/infiniband/hw/hfi1/ipoib_main.c | 309 ++
drivers/infiniband/hw/hfi1/ipoib_rx.c | 95 +
drivers/infiniband/hw/hfi1/ipoib_tx.c | 828 +++++
drivers/infiniband/hw/hfi1/msix.c | 36 +-
drivers/infiniband/hw/hfi1/msix.h | 7 +-
drivers/infiniband/hw/hfi1/netdev.h | 118 +
drivers/infiniband/hw/hfi1/netdev_rx.c | 481 +++
drivers/infiniband/hw/hfi1/qp.c | 18 +-
drivers/infiniband/hw/hfi1/tid_rdma.c | 4 +-
drivers/infiniband/hw/hfi1/trace.c | 42 +-
drivers/infiniband/hw/hfi1/trace_ctxts.h | 11 +-
drivers/infiniband/hw/hfi1/verbs.c | 14 +-
drivers/infiniband/hw/hfi1/vnic.h | 5 +-
drivers/infiniband/hw/hfi1/vnic_main.c | 325 +-
drivers/infiniband/hw/hns/hns_roce_ah.c | 5 +-
drivers/infiniband/hw/hns/hns_roce_alloc.c | 148 +-
drivers/infiniband/hw/hns/hns_roce_common.h | 4 -
drivers/infiniband/hw/hns/hns_roce_cq.c | 351 +-
drivers/infiniband/hw/hns/hns_roce_device.h | 246 +-
drivers/infiniband/hw/hns/hns_roce_hem.c | 114 +-
drivers/infiniband/hw/hns/hns_roce_hem.h | 11 +-
drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 360 +-
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 1713 ++++-----
drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 15 +-
drivers/infiniband/hw/hns/hns_roce_main.c | 71 +-
drivers/infiniband/hw/hns/hns_roce_mr.c | 1644 +++------
drivers/infiniband/hw/hns/hns_roce_qp.c | 509 +--
drivers/infiniband/hw/hns/hns_roce_srq.c | 378 +-
drivers/infiniband/hw/i40iw/i40iw.h | 9 -
drivers/infiniband/hw/i40iw/i40iw_verbs.c | 1 -
drivers/infiniband/hw/i40iw/i40iw_verbs.h | 1 -
drivers/infiniband/hw/mlx4/ah.c | 11 +-
drivers/infiniband/hw/mlx4/main.c | 11 -
drivers/infiniband/hw/mlx4/mlx4_ib.h | 18 +-
drivers/infiniband/hw/mlx4/mr.c | 93 -
drivers/infiniband/hw/mlx5/Makefile | 3 +-
drivers/infiniband/hw/mlx5/ah.c | 35 +-
drivers/infiniband/hw/mlx5/cmd.c | 114 +-
drivers/infiniband/hw/mlx5/cmd.h | 4 +-
drivers/infiniband/hw/mlx5/cong.c | 4 +-
drivers/infiniband/hw/mlx5/devx.c | 17 +-
drivers/infiniband/hw/mlx5/flow.c | 147 +-
drivers/infiniband/hw/mlx5/gsi.c | 38 +-
drivers/infiniband/hw/mlx5/ib_rep.h | 2 +-
drivers/infiniband/hw/mlx5/main.c | 73 +-
drivers/infiniband/hw/mlx5/mlx5_ib.h | 72 +-
drivers/infiniband/hw/mlx5/odp.c | 10 +-
drivers/infiniband/hw/mlx5/qos.c | 13 +-
drivers/infiniband/hw/mlx5/qp.c | 4098 ++++++++-------------
drivers/infiniband/hw/mlx5/qp.h | 6 +-
drivers/infiniband/hw/mlx5/qpc.c | 44 +-
drivers/infiniband/hw/mlx5/srq.c | 10 +-
drivers/infiniband/hw/mlx5/srq_cmd.c | 111 +-
drivers/infiniband/hw/mlx5/wr.c | 1504 ++++++++
drivers/infiniband/hw/mlx5/wr.h | 76 +
drivers/infiniband/hw/mthca/mthca_dev.h | 10 -
drivers/infiniband/hw/mthca/mthca_mr.c | 262 +-
drivers/infiniband/hw/mthca/mthca_provider.c | 105 +-
drivers/infiniband/hw/mthca/mthca_provider.h | 23 -
drivers/infiniband/hw/ocrdma/ocrdma.h | 1 -
drivers/infiniband/hw/ocrdma/ocrdma_ah.c | 3 +-
drivers/infiniband/hw/ocrdma/ocrdma_ah.h | 2 +-
drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 1 -
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 2 -
drivers/infiniband/hw/qedr/main.c | 1 -
drivers/infiniband/hw/qedr/qedr.h | 1 -
drivers/infiniband/hw/qedr/verbs.c | 6 +-
drivers/infiniband/hw/qedr/verbs.h | 2 +-
drivers/infiniband/hw/qib/qib_iba7322.c | 7 +-
drivers/infiniband/hw/qib/qib_verbs.c | 1 -
drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 1 -
drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c | 5 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 2 +-
drivers/infiniband/sw/rdmavt/ah.c | 11 +-
drivers/infiniband/sw/rdmavt/ah.h | 4 +-
drivers/infiniband/sw/rdmavt/mr.c | 155 -
drivers/infiniband/sw/rdmavt/mr.h | 15 -
drivers/infiniband/sw/rdmavt/qp.c | 24 +-
drivers/infiniband/sw/rdmavt/vt.c | 4 -
drivers/infiniband/sw/rxe/rxe.c | 1 +
drivers/infiniband/sw/rxe/rxe_param.h | 3 +
drivers/infiniband/sw/rxe/rxe_verbs.c | 9 +-
drivers/infiniband/sw/siw/siw.h | 4 +-
drivers/infiniband/sw/siw/siw_main.c | 1 -
drivers/infiniband/sw/siw/siw_mem.c | 5 +-
drivers/infiniband/sw/siw/siw_verbs.c | 1 -
drivers/infiniband/ulp/Makefile | 1 +
drivers/infiniband/ulp/ipoib/ipoib_main.c | 37 +-
drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 23 +-
drivers/infiniband/ulp/ipoib/ipoib_verbs.c | 3 +
drivers/infiniband/ulp/ipoib/ipoib_vlan.c | 3 +
drivers/infiniband/ulp/iser/iscsi_iser.h | 79 +-
drivers/infiniband/ulp/iser/iser_initiator.c | 19 +-
drivers/infiniband/ulp/iser/iser_memory.c | 188 +-
drivers/infiniband/ulp/iser/iser_verbs.c | 126 +-
drivers/infiniband/ulp/isert/ib_isert.c | 5 +-
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c | 12 +-
drivers/infiniband/ulp/rtrs/Kconfig | 27 +
drivers/infiniband/ulp/rtrs/Makefile | 15 +
drivers/infiniband/ulp/rtrs/README | 213 ++
drivers/infiniband/ulp/rtrs/rtrs-clt-stats.c | 200 +
drivers/infiniband/ulp/rtrs/rtrs-clt-sysfs.c | 483 +++
drivers/infiniband/ulp/rtrs/rtrs-clt.c | 2992 +++++++++++++++
drivers/infiniband/ulp/rtrs/rtrs-clt.h | 252 ++
drivers/infiniband/ulp/rtrs/rtrs-log.h | 28 +
drivers/infiniband/ulp/rtrs/rtrs-pri.h | 399 ++
drivers/infiniband/ulp/rtrs/rtrs-srv-stats.c | 38 +
drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c | 321 ++
drivers/infiniband/ulp/rtrs/rtrs-srv.c | 2178 +++++++++++
drivers/infiniband/ulp/rtrs/rtrs-srv.h | 148 +
drivers/infiniband/ulp/rtrs/rtrs.c | 612 +++
drivers/infiniband/ulp/rtrs/rtrs.h | 196 +
drivers/infiniband/ulp/srp/ib_srp.c | 265 +-
drivers/infiniband/ulp/srp/ib_srp.h | 27 +-
drivers/infiniband/ulp/srpt/ib_srpt.c | 67 +-
drivers/infiniband/ulp/srpt/ib_srpt.h | 5 -
drivers/net/ethernet/mellanox/mlx4/main.c | 2 -
drivers/net/ethernet/mellanox/mlx4/mr.c | 183 -
drivers/net/ethernet/qlogic/qed/qed_rdma.c | 1 -
drivers/net/ethernet/qlogic/qed/qed_rdma.h | 1 -
drivers/nvme/target/rdma.c | 4 +-
fs/sysfs/file.c | 1 +
include/linux/mlx4/device.h | 22 +-
include/linux/mlx5/mlx5_ifc.h | 9 +-
include/linux/mlx5/qp.h | 68 +-
include/linux/qed/qed_rdma_if.h | 1 -
include/rdma/ib_cm.h | 9 +-
include/rdma/ib_fmr_pool.h | 93 -
include/rdma/ib_mad.h | 49 +-
include/rdma/ib_verbs.h | 298 +-
include/rdma/ibta_vol1_c12.h | 6 +
include/rdma/lag.h | 23 +
include/rdma/opa_port_info.h | 10 +-
include/rdma/opa_vnic.h | 4 +-
include/rdma/rdma_cm.h | 17 +-
include/rdma/rdmavt_qp.h | 31 +-
include/rdma/uverbs_ioctl.h | 18 +-
include/rdma/uverbs_std_types.h | 2 +-
include/rdma/uverbs_types.h | 3 +-
include/uapi/rdma/hfi/hfi1_user.h | 3 +-
include/uapi/rdma/ib_user_ioctl_cmds.h | 81 +
include/uapi/rdma/ib_user_ioctl_verbs.h | 43 +
include/uapi/rdma/mlx5-abi.h | 9 +-
include/uapi/rdma/mlx5_user_ioctl_cmds.h | 6 +
include/uapi/rdma/rdma_user_cm.h | 15 +-
net/rds/Makefile | 2 +-
net/rds/ib.c | 43 +-
net/rds/ib.h | 2 -
net/rds/ib_cm.c | 8 +-
net/rds/ib_fmr.c | 269 --
net/rds/ib_frmr.c | 4 +-
net/rds/ib_mr.h | 14 +-
net/rds/ib_rdma.c | 28 +-
net/smc/smc_ib.c | 13 +-
244 files changed, 24030 insertions(+), 11025 deletions(-)
(diffstat from tag for-linus-merged)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2020-05-29 14:15 Jason Gunthorpe
2020-05-29 21:10 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2020-05-29 14:15 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1925 bytes --]
Hi Linus,
Third rc pull request
Nothing profound here, just a last set of long standing bug fixes for 5.7
The following changes since commit b9bbe6ed63b2b9f2c9ee5cbd0f2c946a2723f4ce:
Linux 5.7-rc6 (2020-05-17 16:48:37 -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 1acba6a817852d4aa7916d5c4f2c82f702ee9224:
IB/ipoib: Fix double free of skb in case of multicast traffic in CM mode (2020-05-27 21:14:09 -0300)
----------------------------------------------------------------
Third RDMA 5.7 rc pull request
A few bug fixes:
- Incorrect error unwind in qib and pvrdma
- User triggerable NULL pointer crash in mlx5 with ODP prefetch
- syzkaller RCU race in uverbs
- Rare double free crash in ipoib
----------------------------------------------------------------
Jason Gunthorpe (1):
RDMA/core: Fix double destruction of uobject
Kaike Wan (1):
IB/qib: Call kobject_put() when kobject_init_and_add() fails
Maor Gottlieb (1):
RDMA/mlx5: Fix NULL pointer dereference in destroy_prefetch_work
Qiushi Wu (1):
RDMA/pvrdma: Fix missing pci disable in pvrdma_pci_probe()
Valentine Fatiev (1):
IB/ipoib: Fix double free of skb in case of multicast traffic in CM mode
drivers/infiniband/core/rdma_core.c | 20 +++++++++++++-------
drivers/infiniband/hw/mlx5/mr.c | 1 +
drivers/infiniband/hw/qib/qib_sysfs.c | 9 +++++----
drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 2 +-
drivers/infiniband/ulp/ipoib/ipoib.h | 4 ++++
drivers/infiniband/ulp/ipoib/ipoib_cm.c | 15 +++++++++------
drivers/infiniband/ulp/ipoib/ipoib_ib.c | 9 +++++++--
drivers/infiniband/ulp/ipoib/ipoib_main.c | 10 ++++++----
include/rdma/uverbs_std_types.h | 2 +-
9 files changed, 47 insertions(+), 25 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2020-05-15 19:13 Jason Gunthorpe
2020-05-15 20:15 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2020-05-15 19:13 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 2735 bytes --]
Hi Linus,
Second rc pull request
One regression, some syzkaller crashers and other long standing bugs for RDMA.
Thanks,
Jason
The following changes since commit 0e698dfa282211e414076f9dc7e83c1c288314fd:
Linux 5.7-rc4 (2020-05-03 14:56:04 -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 ccfdbaa5cf4601b9b71601893029dcc9245c002b:
RDMA/uverbs: Move IB_EVENT_DEVICE_FATAL to destroy_uobj (2020-05-12 17:02:25 -0300)
----------------------------------------------------------------
Second RDMA 5.7 rc pull request
A few minor bug fixes for user visible defects, and one regression:
- Various bugs from static checkers and syzkaller
- Add missing error checking in mlx4
- Prevent RTNL lock recursion in i40iw
- Fix segfault in cxgb4 in peer abort cases
- Fix a regression added in 5.7 where the IB_EVENT_DEVICE_FATAL could be
lost, and wasn't delivered to all the FDs
----------------------------------------------------------------
Dan Carpenter (1):
i40iw: Fix error handling in i40iw_manage_arp_cache()
Denis V. Lunev (1):
IB/i40iw: Remove bogus call to netdev_master_upper_dev_get()
Jack Morgenstein (2):
IB/mlx4: Test return value of calls to ib_get_cached_pkey
IB/core: Fix potential NULL pointer dereference in pkey cache
Jason Gunthorpe (2):
RDMA/uverbs: Do not discard the IB_EVENT_DEVICE_FATAL event
RDMA/uverbs: Move IB_EVENT_DEVICE_FATAL to destroy_uobj
Maor Gottlieb (1):
RDMA/core: Fix double put of resource
Mike Marciniszyn (1):
IB/hfi1: Fix another case where pq is left on waitlist
Potnuri Bharat Teja (1):
RDMA/iw_cxgb4: Fix incorrect function parameters
Sudip Mukherjee (1):
RDMA/rxe: Always return ERR_PTR from rxe_create_mmap_info()
drivers/infiniband/core/cache.c | 7 +++--
drivers/infiniband/core/nldev.c | 3 +--
drivers/infiniband/core/rdma_core.c | 3 ++-
drivers/infiniband/core/uverbs.h | 4 +++
drivers/infiniband/core/uverbs_main.c | 12 +++------
.../infiniband/core/uverbs_std_types_async_fd.c | 30 +++++++++++++++++++++-
drivers/infiniband/hw/cxgb4/cm.c | 7 +++--
drivers/infiniband/hw/hfi1/user_sdma.c | 4 ---
drivers/infiniband/hw/i40iw/i40iw_cm.c | 8 ------
drivers/infiniband/hw/i40iw/i40iw_hw.c | 2 +-
drivers/infiniband/hw/mlx4/qp.c | 14 +++++++---
drivers/infiniband/sw/rxe/rxe_mmap.c | 2 +-
drivers/infiniband/sw/rxe/rxe_queue.c | 11 +++++---
13 files changed, 68 insertions(+), 39 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2020-04-28 19:59 Jason Gunthorpe
2020-04-28 20:40 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2020-04-28 19:59 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 2531 bytes --]
Hi Linus,
First rc pull request
A few regressions and some syzkaller crashers for RDMA.
Thanks,
Jason
The following changes since commit 8f3d9f354286745c751374f5f1fcafee6b3f3136:
Linux 5.7-rc1 (2020-04-12 12:35:55 -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 f0abc761bbb9418876cc4d1ebc473e4ea6352e42:
RDMA/core: Fix race between destroy and release FD object (2020-04-24 15:40:41 -0300)
----------------------------------------------------------------
First RDMA 5.7 rc pull request
A couple of regressions were found in rc1, as well as another set of races
and bugs :
- A regression where RDMA_CM_EVENT_REJECTED was lost in some cases
- Bad error handling in the CM, uverbs, rvt, siw and i40iw
- Kernel stack memory leak to user space in mlx4
- Missing data in a uapi query for mlx5
- Three races found by syzkaller in the ib core code
----------------------------------------------------------------
Aharon Landau (1):
RDMA/mlx5: Set GRH fields in query QP on RoCE
Alaa Hleihel (1):
RDMA/mlx4: Initialize ib_spec on the stack
Colin Ian King (1):
i40iw: fix null pointer dereference on a null wqe pointer
Dan Carpenter (1):
RDMA/cm: Fix an error check in cm_alloc_id_priv()
Jason Gunthorpe (2):
RDMA/siw: Fix potential siw_mem refcnt leak in siw_fastreg_mr()
RDMA/uverbs: Fix a race with disassociate and exit_mmap()
Leon Romanovsky (4):
RDMA/cm: Fix missing RDMA_CM_EVENT_REJECTED event after receiving REJ message
RDMA/core: Prevent mixed use of FDs between shared ufiles
RDMA/core: Fix overwriting of uobj in case of error
RDMA/core: Fix race between destroy and release FD object
Sudip Mukherjee (1):
IB/rdmavt: Always return ERR_PTR from rvt_create_mmap_info()
drivers/infiniband/core/cm.c | 26 ++++++++++++++------------
drivers/infiniband/core/rdma_core.c | 9 ++++-----
drivers/infiniband/core/uverbs_main.c | 4 ++++
drivers/infiniband/hw/i40iw/i40iw_ctrl.c | 2 +-
drivers/infiniband/hw/mlx4/main.c | 3 ++-
drivers/infiniband/hw/mlx5/qp.c | 4 +++-
drivers/infiniband/sw/rdmavt/cq.c | 4 ++--
drivers/infiniband/sw/rdmavt/mmap.c | 4 ++--
drivers/infiniband/sw/rdmavt/qp.c | 4 ++--
drivers/infiniband/sw/rdmavt/srq.c | 4 ++--
drivers/infiniband/sw/siw/siw_qp_tx.c | 15 +++++++++++----
11 files changed, 47 insertions(+), 32 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2020-04-01 23:01 Jason Gunthorpe
2020-04-02 2:05 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2020-04-01 23:01 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 18677 bytes --]
Hi Linus,
These are the proposed RDMA patches for 5.7.
This cycle saw some more activity from Syzkaller, I think we are now clean on
all but one of those bugs, including the long standing and obnoxious rdma_cm
locking design defect. Continue to see many drivers getting cleanups, with a
few new user visible features.
Thanks,
Jason
The following changes since commit 826096d84f509d95ee8f72728fe19c44fbb9df6b:
mlx5: Remove uninitialized use of key in mlx5_core_create_mkey (2020-03-16 23:30:32 -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 b4d8ddf8356d8ac73fb931d16bcc661a83b2c0fe:
RDMA/bnxt_re: make bnxt_re_ib_init static (2020-03-30 15:03:19 -0300)
----------------------------------------------------------------
RDMA 5.7 pull request
The majority of the patches are cleanups, refactorings and clarity
improvements
- Various driver updates for siw, bnxt_re, rxe, efa, mlx5, hfi1
- Lots of cleanup patches for hns
- Convert more places to use refcount
- Aggressively lock the RDMA CM code that syzkaller says isn't working
- Work to clarify ib_cm
- Use the new ib_device lifecycle model in bnxt_re
- Fix mlx5's MR cache which seems to be failing more often with the new
ODP code
- mlx5 'dynamic uar' and 'tx steering' user interfaces
----------------------------------------------------------------
Alex Vesker (1):
IB/mlx5: Replace tunnel mpls capability bits for tunnel_offloads
Alexander Lobakin (1):
IB/mlx5: Optimize u64 division on 32-bit arches
Andrew Morton (1):
RDMA/siw: Suppress uninitialized var warning
Avihai Horon (1):
RDMA/cm: Update num_paths in cma_resolve_iboe_route error flow
Bart Van Assche (1):
RDMA/rxe: Fix configuration of atomic queue pair attributes
Bernard Metzler (1):
RDMA/siw: Fix passive connection establishment
Christophe JAILLET (1):
RDMA/bnxt_re: Remove a redundant 'memset'
Colin Ian King (2):
RDMA/hns: fix spelling mistake: "attatch" -> "attach"
RDMA/hns: fix spelling mistake "attatch" -> "attach"
Dan Carpenter (1):
IB/mlx5: Fix a NULL vs IS_ERR() check
Devesh Sharma (8):
RDMA/bnxt_re: Refactor queue pair creation code
RDMA/bnxt_re: Replace chip context structure with pointer
RDMA/bnxt_re: Refactor hardware queue memory allocation
RDMA/bnxt_re: Refactor net ring allocation function
RDMA/bnxt_re: Refactor command queue management code
RDMA/bnxt_re: Refactor notification queue management code
RDMA/bnxt_re: Refactor doorbell management functions
RDMA/bnxt_re: use ibdev based message printing functions
Erez Shitrit (1):
RDMA/mlx5: Remove duplicate definitions of SW_ICM macros
Gal Pressman (3):
RDMA/efa: Unified getters/setters for device structs bitmask access
RDMA/efa: Properly document the interrupt mask register
RDMA/efa: Do not delay freeing of DMA pages
George Spelvin (1):
IB/qib: Delete struct qib_ivdev.qp_rnd
Gustavo A. R. Silva (2):
RDMA: Replace zero-length array with flexible-array member
RDMA/hns: Fix uninitialized variable bug
Jason Gunthorpe (35):
RDMA/core: Get rid of ib_create_qp_user
RDMA/ucma: Use refcount_t for the ctx->ref
RDMA/bnxt_re: Using vmalloc requires including vmalloc.h
RDMA/ucma: Put a lock around every call to the rdma_cm layer
Merge tag 'v5.6-rc4' into rdma.git for-next
Merge branch 'mlx5_packet_pacing' into rdma.git for-next
Merge tag 'v5.6-rc5' into rdma.git for-next
RDMA/cma: Teach lockdep about the order of rtnl and lock
RDMA/mlx5: Rename the tracking variables for the MR cache
RDMA/mlx5: Simplify how the MR cache bucket is located
RDMA/mlx5: Always remove MRs from the cache before destroying them
RDMA/mlx5: Fix MR cache size and limit debugfs
RDMA/mlx5: Lock access to ent->available_mrs/limit when doing queue_work
RDMA/mlx5: Fix locking in MR cache work queue
RDMA/mlx5: Revise how the hysteresis scheme works for cache filling
RDMA/mlx5: Allow MRs to be created in the cache synchronously
Merge branch 'mlx5_mr_cache' into rdma.git for-next
RDMA/cm: Fix ordering of xa_alloc_cyclic() in ib_create_cm_id()
RDMA/cm: Fix checking for allowed duplicate listens
RDMA/cm: Remove a race freeing timewait_info
RDMA/cm: Make the destroy_id flow more robust
RDMA/cm: Simplify establishing a listen cm_id
RDMA/cm: Read id.state under lock when doing pr_debug()
RDMA/cm: Make it clear that there is no concurrency in cm_sidr_req_handler()
RDMA/cm: Make it clearer how concurrency works in cm_req_handler()
RDMA/cm: Add missing locking around id.state in cm_dup_req_handler
RDMA/cm: Add some lockdep assertions for cm_id_priv->lock
RDMA/cm: Allow ib_send_cm_dreq() to be done under lock
RDMA/cm: Allow ib_send_cm_drep() to be done under lock
RDMA/cm: Allow ib_send_cm_rej() to be done under lock
RDMA/cm: Allow ib_send_cm_sidr_rep() to be done under lock
RDMA/cm: Make sure the cm_id is in the IB_CM_IDLE state in destroy
RDMA/bnxt_re: Use ib_device_try_get()
RDMA/bnxt_re: Fix lifetimes in bnxt_re_task
Merge branch 'mlx5_tx_steering' into rdma.git for-next
Jihua Tao (1):
RDMA/hns: Reduce PFC frames in congestion scenarios
Kaike Wan (3):
IB/hfi1: Remove kobj from hfi1_devdata
IB/hfi1: Fix memory leaks in sysfs registration and unregistration
IB/hfi1: Call kobject_put() when kobject_init_and_add() fails
Kamal Heib (3):
RDMA/siw: Fix setting active_mtu attribute
RDMA/siw: Fix setting active_{speed, width} attributes
RDMA/providers: Fix return value when QP type isn't supported
Lang Cheng (10):
RDMA/hns: Cleanups of magic numbers
RDMA/hns: Initialize all fields of doorbells to zero
RDMA/hns: Treat revision HIP08_A as a special case
RDMA/hns: Check if depth of qp is 0 before configure
RDMA/hns: Simplify attribute judgment code
RDMA/hns: Adjust the qp status value sequence of the hardware
RDMA/hns: Remove definition of cq doorbell structure
RDMA/hns: Remove redundant qpc setup operations
RDMA/hns: Reduce the maximum number of extend SGE per WQE
RDMA/hns: Modify the mask of QP number for CQE of hip08
Leon Romanovsky (8):
RDMA/ucma: Mask QPN to be 24 bits according to IBTA
RDMA/ipoib: Don't set constant driver version
RDMA/opa_vnic: Delete driver version
RDMA/mlx4: Delete duplicated offsetofend implementation
RDMA/mlx5: Use offsetofend() instead of duplicated variant
RDMA/cm: Delete not implemented CM peer to peer communication
RDMA/efa: Use in-kernel offsetofend() to check field availability
IB/mlx5: Limit the scope of struct mlx5_bfreg_info to mlx5_ib
Lijun Ou (2):
RDMA/hns: Unify format of prints
RDMA/hns: Optimize hns_roce_alloc_vf_resource()
Mauro Carvalho Chehab (1):
IB/hfi1: Get rid of a warning
Max Gurtovoy (1):
RDMA/rw: map P2P memory correctly for signature operations
Michael Guralnik (4):
RDMA/core: Add weak ordering dma attr to dma mapping
RDMA/mlx5: Prevent UMR usage with RO only when we have RO caps
net/mlx5: Add support for RDMA TX steering
RDMA/mlx5: Add support for RDMA TX flow table
Mike Marciniszyn (1):
IB/rdmavt: Delete unused routine
Parav Pandit (8):
RDMA/cma: Use a helper function to enqueue resolve work items
RDMA/cma: Use RDMA device port iterator
RDMA/cma: Rename cma_device ref/deref helpers to to get/put
RDMA/cma: Use refcount API to reflect refcount
RDMA/cma: Rename cma_device ref/deref helpers to to get/put
RDMA/cma: Use refcount API to reflect refcount
IB/mlx5: Add np_min_time_between_cnps and rp_max_rate debug params
IB/mlx5: Fix missing congestion control debugfs on rep rdma device
Saeed Mahameed (1):
RDMA/mlx5: Replace spinlock protected write with atomic var
Selvin Xavier (6):
RDMA/core: Add helper function to retrieve driver gid context from gid attr
RDMA/bnxt_re: Use rdma_read_gid_hw_context to retrieve HW gid index
RDMA/bnxt_re: Refactor device add/remove functionalities
RDMA/bnxt_re: Use driver_unregister and unregistration API
RDMA/bnxt_re: Remove unnecessary sched count
RDMA/bnxt_re: Wait for all the CQ events before freeing CQ data structures
Sergey Gorenko (1):
IB/iser: Always check sig MR before putting it to the free pool
Shiraz Saleem (1):
i40iw: Do an RCU lookup in i40iw_add_ipv4_addr
Sindhu, Devale (1):
i40iw: Report correct firmware version
Takashi Iwai (1):
IB/hfi1: Use scnprintf() for avoiding potential buffer overflow
Weihang Li (4):
RDMA/hns: Fix wrong judgments of udata->outlen
RDMA/hns: Fix a wrong judgment of return value
RDMA/hns: Remove redundant assignment of wc->smac when polling cq
RDMA/hns: Remove redundant judgment of qp_type
Wenpeng Liang (1):
RDMA/hns: Remove meaningless prints
Xi Wang (15):
RDMA/hns: Optimize eqe buffer allocation flow
RDMA/hns: Optimize qp destroy flow
RDMA/hns: Optimize qp context create and destroy flow
RDMA/hns: Optimize qp number assign flow
RDMA/hns: Optimize qp buffer allocation flow
RDMA/hns: Optimize qp param setup flow
RDMA/hns: Optimize kernel qp wrid allocation flow
RDMA/hns: Optimize qp doorbell allocation flow
RDMA/hns: Rename wqe buffer related functions
RDMA/hns: Optimize wqe buffer filling process for post send
RDMA/hns: Optimize the wr opcode conversion from ib to hns
RDMA/hns: Optimize base address table config flow for qp buffer
RDMA/hns: Optimize wqe buffer set flow for post send
RDMA/hns: Optimize mhop get flow for multi-hop addressing
RDMA/hns: Optimize mhop put flow for multi-hop addressing
Yishai Hadas (6):
IB/mlx5: Introduce UAPIs to manage packet pacing
IB/mlx5: Generally use the WC auto detection test result
IB/mlx5: Expose UAR object and its alloc/destroy commands
IB/mlx5: Extend CQ creation to get uar page index from user space
IB/mlx5: Extend QP creation to get uar page index from user space
IB/mlx5: Move to fully dynamic UAR mode once user space supports it
Yixian Liu (4):
RDMA/hns: Add the workqueue framework for flush cqe handler
RDMA/hns: Delayed flush cqe process with workqueue
RDMA/hns: Use flush framework for the case in aeq
RDMA/hns: Stop doorbell update while qp state error
YueHaibing (4):
RDMA/bnxt_re: Remove set but not used variable 'pg_size'
RDMA/bnxt_re: Remove set but not used variable 'dev_attr'
RDMA/bnxt_re: Remove set but not used variables 'pg' and 'idx'
RDMA/bnxt_re: make bnxt_re_ib_init static
Zhu Yanjun (2):
RDMA/core: Remove the duplicate header file
RDMA/rxe: Set sys_image_guid to be aligned with HW IB devices
drivers/infiniband/core/cache.c | 19 +-
drivers/infiniband/core/cm.c | 746 ++++----
drivers/infiniband/core/cma.c | 114 +-
drivers/infiniband/core/cma_configfs.c | 6 +-
drivers/infiniband/core/cma_priv.h | 6 +-
drivers/infiniband/core/mad_priv.h | 4 +-
drivers/infiniband/core/multicast.c | 2 +-
drivers/infiniband/core/rw.c | 12 +-
drivers/infiniband/core/sa_query.c | 2 +-
drivers/infiniband/core/ucma.c | 61 +-
drivers/infiniband/core/umem.c | 11 +-
drivers/infiniband/core/verbs.c | 24 +-
drivers/infiniband/hw/bnxt_re/bnxt_re.h | 26 +-
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 926 ++++++----
drivers/infiniband/hw/bnxt_re/main.c | 492 +++---
drivers/infiniband/hw/bnxt_re/qplib_fp.c | 489 +++---
drivers/infiniband/hw/bnxt_re/qplib_fp.h | 95 +-
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 463 +++--
drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 85 +-
drivers/infiniband/hw/bnxt_re/qplib_res.c | 470 +++--
drivers/infiniband/hw/bnxt_re/qplib_res.h | 145 +-
drivers/infiniband/hw/bnxt_re/qplib_sp.c | 48 +-
drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 4 +-
drivers/infiniband/hw/cxgb4/qp.c | 2 +-
drivers/infiniband/hw/cxgb4/t4fw_ri_api.h | 8 +-
drivers/infiniband/hw/efa/efa_admin_cmds_defs.h | 7 +-
drivers/infiniband/hw/efa/efa_admin_defs.h | 4 +-
drivers/infiniband/hw/efa/efa_com.c | 158 +-
drivers/infiniband/hw/efa/efa_com_cmd.c | 29 +-
drivers/infiniband/hw/efa/efa_common_defs.h | 13 +-
drivers/infiniband/hw/efa/efa_regs_defs.h | 25 +-
drivers/infiniband/hw/efa/efa_verbs.c | 51 +-
drivers/infiniband/hw/hfi1/fault.c | 4 +-
drivers/infiniband/hw/hfi1/file_ops.c | 4 +-
drivers/infiniband/hw/hfi1/hfi.h | 2 -
drivers/infiniband/hw/hfi1/init.c | 26 +-
drivers/infiniband/hw/hfi1/mad.c | 4 +-
drivers/infiniband/hw/hfi1/mad.h | 2 +-
drivers/infiniband/hw/hfi1/pio.h | 4 +-
drivers/infiniband/hw/hfi1/sdma.c | 2 +-
drivers/infiniband/hw/hfi1/sdma.h | 4 +-
drivers/infiniband/hw/hfi1/sysfs.c | 26 +-
drivers/infiniband/hw/hfi1/user_exp_rcv.h | 2 +-
drivers/infiniband/hw/hns/hns_roce_cq.c | 8 +-
drivers/infiniband/hw/hns/hns_roce_device.h | 54 +-
drivers/infiniband/hw/hns/hns_roce_hem.c | 474 ++---
drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 46 +-
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 1851 +++++++-------------
drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 16 +-
drivers/infiniband/hw/hns/hns_roce_mr.c | 2 +-
drivers/infiniband/hw/hns/hns_roce_pd.c | 6 +-
drivers/infiniband/hw/hns/hns_roce_qp.c | 977 ++++++-----
drivers/infiniband/hw/hns/hns_roce_srq.c | 3 +-
drivers/infiniband/hw/i40iw/i40iw.h | 22 +-
drivers/infiniband/hw/i40iw/i40iw_cm.h | 4 +-
drivers/infiniband/hw/i40iw/i40iw_ctrl.c | 96 +
drivers/infiniband/hw/i40iw/i40iw_d.h | 26 +-
drivers/infiniband/hw/i40iw/i40iw_main.c | 24 +-
drivers/infiniband/hw/i40iw/i40iw_p.h | 1 +
drivers/infiniband/hw/i40iw/i40iw_status.h | 3 +-
drivers/infiniband/hw/i40iw/i40iw_type.h | 12 +
drivers/infiniband/hw/i40iw/i40iw_verbs.c | 12 +-
drivers/infiniband/hw/mlx4/main.c | 9 +-
drivers/infiniband/hw/mlx4/qp.c | 2 +-
drivers/infiniband/hw/mlx5/Makefile | 1 +
drivers/infiniband/hw/mlx5/cong.c | 20 +
drivers/infiniband/hw/mlx5/cq.c | 21 +-
drivers/infiniband/hw/mlx5/flow.c | 3 +
drivers/infiniband/hw/mlx5/main.c | 265 ++-
drivers/infiniband/hw/mlx5/mem.c | 2 +-
drivers/infiniband/hw/mlx5/mlx5_ib.h | 89 +-
drivers/infiniband/hw/mlx5/mr.c | 608 ++++---
drivers/infiniband/hw/mlx5/odp.c | 2 +-
drivers/infiniband/hw/mlx5/qos.c | 136 ++
drivers/infiniband/hw/mlx5/qp.c | 35 +-
drivers/infiniband/hw/mthca/mthca_memfree.c | 2 +-
drivers/infiniband/hw/mthca/mthca_memfree.h | 2 +-
drivers/infiniband/hw/mthca/mthca_provider.c | 2 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 2 +-
drivers/infiniband/hw/qedr/verbs.c | 2 +-
drivers/infiniband/hw/qib/qib_verbs.c | 2 -
drivers/infiniband/hw/qib/qib_verbs.h | 1 -
drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 2 +-
drivers/infiniband/hw/usnic/usnic_uiom.h | 2 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 2 +-
drivers/infiniband/sw/rdmavt/qp.c | 2 +-
drivers/infiniband/sw/rdmavt/vt.c | 6 -
drivers/infiniband/sw/rxe/rxe.c | 2 +
drivers/infiniband/sw/rxe/rxe_qp.c | 7 +-
drivers/infiniband/sw/rxe/rxe_queue.h | 2 +-
drivers/infiniband/sw/siw/siw_cm.c | 137 +-
drivers/infiniband/sw/siw/siw_qp_rx.c | 2 +-
drivers/infiniband/sw/siw/siw_verbs.c | 11 +-
drivers/infiniband/ulp/ipoib/ipoib.h | 2 -
drivers/infiniband/ulp/ipoib/ipoib_ethtool.c | 3 -
drivers/infiniband/ulp/ipoib/ipoib_main.c | 4 -
drivers/infiniband/ulp/iser/iser_memory.c | 21 +-
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.h | 6 +-
drivers/infiniband/ulp/opa_vnic/opa_vnic_ethtool.c | 2 -
.../infiniband/ulp/opa_vnic/opa_vnic_internal.h | 1 -
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c | 5 -
drivers/infiniband/ulp/srp/ib_srp.h | 2 +-
drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c | 1 +
drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 53 +
drivers/net/ethernet/mellanox/mlx5/core/fs_core.h | 7 +-
include/linux/mlx5/device.h | 6 +
include/linux/mlx5/driver.h | 17 -
include/linux/mlx5/fs.h | 1 +
include/linux/mlx5/mlx5_ifc.h | 8 +-
include/rdma/ib_cache.h | 1 +
include/rdma/ib_cm.h | 1 -
include/rdma/ib_fmr_pool.h | 2 +-
include/rdma/ib_verbs.h | 49 +-
include/rdma/opa_vnic.h | 2 +-
include/rdma/rdmavt_mr.h | 2 +-
include/rdma/rdmavt_qp.h | 2 +-
include/rdma/uverbs_ioctl.h | 2 +-
include/uapi/rdma/mlx5-abi.h | 6 +
include/uapi/rdma/mlx5_user_ioctl_cmds.h | 35 +
include/uapi/rdma/mlx5_user_ioctl_verbs.h | 10 +
120 files changed, 5401 insertions(+), 4495 deletions(-)
(diffstat from tag for-linus-merged)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2020-03-26 17:31 Jason Gunthorpe
2020-03-26 17:50 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2020-03-26 17:31 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 2641 bytes --]
Hi Linus,
A small set of late-rc patches, mostly fixes for various crashers, some
syzkaller fixes and a mlx5 HW limitation.
Thanks,
Jason
The following changes since commit 2c523b344dfa65a3738e7039832044aa133c75fb:
Linux 5.6-rc5 (2020-03-08 17:44:44 -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 ba80013fba656b9830ef45cd40a6a1e44707f47a:
RDMA/mlx5: Block delay drop to unprivileged users (2020-03-25 09:56:30 -0300)
----------------------------------------------------------------
Third RDMA 5.6 pull request
- Several MAINTAINERS updates
- Memory leak regression in ODP
- Several fixes for syzkaller related crashes. Google recently taught
syzkaller to create the software RDMA devices
- Crash fixes for HFI1
- Several fixes for mlx5 crashes
- Prevent unprivileged access to an unsafe mlx5 HW resource
----------------------------------------------------------------
Jason Gunthorpe (4):
RDMA/odp: Fix leaking the tgid for implicit ODP
RDMA/nl: Do not permit empty devices names during RDMA_NLDEV_CMD_NEWLINK/SET
RDMA/core: Fix missing error check on dev_set_name()
RDMA/mad: Do not crash if the rdma device does not have a umad interface
Kaike Wan (1):
IB/rdmavt: Free kernel completion queue when done
Leon Romanovsky (2):
MAINTAINERS: Clean RXE section and add Zhu as RXE maintainer
RDMA/mlx5: Fix access to wrong pointer while performing flush due to error
Maor Gottlieb (1):
RDMA/mlx5: Block delay drop to unprivileged users
Mark Zhang (1):
RDMA/mlx5: Fix the number of hwcounters of a dynamic counter
Mike Marciniszyn (2):
IB/hfi1: Ensure pq is not left on waitlist
RDMA/core: Ensure security pkey modify is not lost
Weihang Li (1):
MAINTAINERS: Update maintainers for HISILICON ROCE DRIVER
MAINTAINERS | 7 +++----
drivers/infiniband/core/device.c | 4 +++-
drivers/infiniband/core/nldev.c | 6 +++++-
drivers/infiniband/core/security.c | 11 +++--------
drivers/infiniband/core/umem_odp.c | 2 +-
drivers/infiniband/core/user_mad.c | 33 ++++++++++++++++++++++-----------
drivers/infiniband/hw/hfi1/user_sdma.c | 25 ++++++++++++++++++++++---
drivers/infiniband/hw/mlx5/cq.c | 27 +++++++++++++++++++++++++--
drivers/infiniband/hw/mlx5/main.c | 5 +++--
drivers/infiniband/hw/mlx5/mlx5_ib.h | 1 +
drivers/infiniband/hw/mlx5/qp.c | 5 +++++
drivers/infiniband/sw/rdmavt/cq.c | 2 +-
12 files changed, 94 insertions(+), 34 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2020-03-08 0:07 Jason Gunthorpe
2020-03-08 2:00 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2020-03-08 0:07 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 3043 bytes --]
Hi Linus,
Second rc pull request
Nothing particularly exciting, some small ODP regressions from the mmu
notifier rework, another bunch of syzkaller fixes, and a bug fix for a
botched syzkaller fix in the first rc pull request.
Thanks,
Jason
The following changes since commit 11a48a5a18c63fd7621bb050228cebf13566e4d8:
Linux 5.6-rc2 (2020-02-16 13:16:59 -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 810dbc69087b08fd53e1cdd6c709f385bc2921ad:
RDMA/iwcm: Fix iwcm work deallocation (2020-03-04 14:28:25 -0400)
----------------------------------------------------------------
Second RDMA 5.6 pull request
- Fix busted syzkaller fix in 'get_new_pps' - this turned out to crash on
certain HW configurations
- Bug fixes for various missed things in error unwinds
- Add a missing rcu_read_lock annotation in hfi/qib
- Fix two ODP related regressions from the recent mmu notifier changes
- Several more syzkaller bugs in siw, RDMA netlink, verbs and iwcm
- Revert an old patch in CMA as it is now shown to not be allocating port
numbers properly
----------------------------------------------------------------
Artemy Kovalyov (1):
IB/mlx5: Fix implicit ODP race
Bernard Metzler (2):
RDMA/siw: Fix failure handling during device creation
RDMA/iwcm: Fix iwcm work deallocation
Dennis Dalessandro (1):
IB/hfi1, qib: Ensure RCU is locked when accessing list
Jason Gunthorpe (2):
RMDA/cm: Fix missing ib_cm_destroy_id() in ib_cm_insert_listen()
RDMA/odp: Ensure the mm is still alive before creating an implicit child
Maor Gottlieb (2):
RDMA/core: Fix pkey and port assignment in get_new_pps
RDMA/core: Fix protection fault in ib_mr_pool_destroy
Mark Zhang (1):
RDMA/nldev: Fix crash when set a QP to a new counter but QPN is missing
Max Gurtovoy (1):
RDMA/rw: Fix error flow during RDMA context initialization
Nathan Chancellor (1):
RDMA/core: Fix use of logical OR in get_new_pps
Parav Pandit (1):
Revert "RDMA/cma: Simplify rdma_resolve_addr() error flow"
drivers/infiniband/core/cm.c | 1 +
drivers/infiniband/core/cma.c | 15 +++++++++++----
drivers/infiniband/core/core_priv.h | 14 ++++++++++++++
drivers/infiniband/core/iwcm.c | 4 +++-
drivers/infiniband/core/nldev.c | 2 ++
drivers/infiniband/core/rw.c | 31 ++++++++++++++++++++-----------
drivers/infiniband/core/security.c | 14 +++++++++-----
drivers/infiniband/core/umem_odp.c | 24 +++++++++++++++++++-----
drivers/infiniband/core/uverbs_cmd.c | 9 ---------
drivers/infiniband/core/verbs.c | 10 ----------
drivers/infiniband/hw/hfi1/verbs.c | 4 +++-
drivers/infiniband/hw/mlx5/mlx5_ib.h | 1 +
drivers/infiniband/hw/mlx5/odp.c | 17 +++++++----------
drivers/infiniband/hw/qib/qib_verbs.c | 2 ++
drivers/infiniband/sw/siw/siw_main.c | 6 +++---
15 files changed, 95 insertions(+), 59 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2020-01-31 15:16 Jason Gunthorpe
2020-01-31 23:10 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2020-01-31 15:16 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 15638 bytes --]
Hi Linus,
These are the proposed RDMA patches for 5.6.
A very quiet cycle with few notable changes. Mostly the usual list of one or
two patches to drivers changing something that isn't quite rc worthy. The
subsystem seems to be seeing a larger number of rework and cleanup style
patches right now, I feel that several vendors are prepping their drivers for
new silicon.
Thanks,
Jason
The following changes since commit b2dfc6765e45a3154800333234e4952b5412d792:
net/rds: Use prefetch for On-Demand-Paging MR (2020-01-18 11:48:19 +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 8889f6fa35884d09f24734e10fea0c9ddcbc6429:
RDMA/core: Make the entire API tree static (2020-01-30 16:28:52 -0400)
----------------------------------------------------------------
RDMA subsystem updates for 5.6
- Driver updates and cleanup for qedr, bnxt_re, hns, siw, mlx5, mlx4, rxe,
i40iw
- Larger series doing cleanup and rework for hns and hfi1.
- Some general reworking of the CM code to make it a little more
understandable
- Unify the different code paths connected to the uverbs FD scheme
- New UAPI ioctls conversions for get context and get async fd
- Trace points for CQ and CM portions of the RDMA stack
- mlx5 driver support for virtio-net formatted rings as RDMA raw ethernet QPs
- verbs support for setting the PCI-E relaxed ordering bit on DMA traffic
connected to a MR
- A couple of bug fixes that came too late to make rc7
----------------------------------------------------------------
Aditya Pakki (1):
RDMA/srpt: Remove unnecessary assertion in srpt_queue_response
Arnd Bergmann (1):
IB/core: Fix build failure without hugepages
Artemy Kovalyov (2):
IB/mlx5: Unify ODP MR code paths to allow extra flexibility
RDMA/umem: Fix ib_umem_find_best_pgsz()
Avihai Horon (1):
IB/mlx5: Expose RoCE accelerator counters
Bernard Metzler (1):
RDMA/siw: Simplify QP representation
Chuck Lever (3):
RDMA/cma: Add trace points in RDMA Connection Manager
RDMA/core: Trace points for diagnosing completion queue issues
RDMA/core: Add trace points to follow MR allocation
Danit Goldberg (2):
RDMA/cm: Use RCU synchronization mechanism to protect cm_id_private xa_load()
IB/mlx5: Return the administrative GUID if exists
Dillon Brock (1):
IB/opa_vnic: Spelling correction of 'erorr' to 'error'
Eugene Crosser (1):
RDMA/mlx4: Redo TX checksum offload in line with docs
Gal Pressman (4):
RDMA/efa: Device definitions documentation updates
RDMA/efa: Remove {} brackets from single statement if
RDMA/efa: Remove unused ucontext parameter from efa_qp_user_mmap_entries_remove
RDMA/efa: Mask access flags with the correct optional range
Grzegorz Andrejczuk (3):
IB/hfi1: Move common receive IRQ code to function
IB/hfi1: Decouple IRQ name from type
IB/hfi1: Return void in packet receiving functions
Guoqing Jiang (1):
RDMA/core: Remove err in iw_query_port
Håkon Bugge (2):
RDMA/netlink: Do not always generate an ACK for some netlink operations
IB/mlx4: Fix leak in id_map_find_del
Jack Morgenstein (1):
IB/mlx4: Fix memory leak in add_gid error flow
Jason Gunthorpe (29):
RDMA/core: Fix locking in ib_uverbs_event_read
Merge branch 'mlx5_vdpa' into rdma.git for-next
RDMA/uverbs: Remove needs_kfree_rcu from uverbs_obj_type_class
RDMA/mlx5: Use RCU and direct refcounts to keep memory alive
RDMA/core: Simplify destruction of FD uobjects
RDMA/mlx5: Simplify devx async commands
RDMA/core: Do not allow alloc_commit to fail
RDMA/core: Make ib_ucq_object use ib_uevent_object
RDMA/core: Do not erase the type of ib_cq.uobject
RDMA/core: Do not erase the type of ib_qp.uobject
RDMA/core: Do not erase the type of ib_srq.uobject
RDMA/core: Do not erase the type of ib_wq.uobject
RDMA/core: Simplify type usage for ib_uverbs_async_handler()
RDMA/core: Remove the ufile arg from rdma_alloc_begin_uobject
RDMA/core: Make ib_uverbs_async_event_file into a uobject
RDMA/core: Use READ_ONCE for ib_ufile.async_file
Merge branch 'mlx5-next' into rdma.git for-next
RDMA/core: Add UVERBS_METHOD_ASYNC_EVENT_ALLOC
RDMA/core: Remove ucontext_lock from the uverbs_destry_ufile_hw() path
RDMA/uverbs: Add ioctl command to get a device context
Merge tag 'rds-odp-for-5.5' into rdma.git for-next
RDMA/core: Ensure that rdma_user_mmap_entry_remove() is a fence
RDMA/cm: Add accessors for CM_REQ transport_type
RDMA/cm: Use IBA functions for simple get/set acessors
RDMA/cm: Use IBA functions for swapping get/set acessors
RDMA/cm: Use IBA functions for simple structure members
RDMA/cm: Use IBA functions for complex structure members
RDMA/cm: Remove CM message structs
RDMA/core: Make the entire API tree static
Jiaran Zhang (1):
RDMA/hns: Add support for extended atomic in userspace
Jiewei Ke (1):
RDMA/rxe: Fix error type of mmap_offset
Leon Romanovsky (4):
RDMA/cm: Delete unused CM LAP functions
RDMA/cm: Delete unused CM ARP functions
net/mlx5: Add RoCE accelerator counters
RDMA/cm: Add SET/GET implementations to hide IBA wire format
Lijun Ou (7):
RDMA/hns: Remove unused function hns_roce_init_eq_table()
RDMA/hns: Update the value of qp type
RDMA/hns: Delete unnessary parameters in hns_roce_v2_qp_modify()
RDMA/hns: Fix coding style issues
RDMA/hns: Bugfix for posting a wqe with sge
RDMA/hns: Add interfaces to get pf capabilities from firmware
RDMA/hns: Get pf capabilities from firmware
Michael Guralnik (7):
net/mlx5: Expose relaxed ordering bits
RDMA/uverbs: Verify MR access flags
RDMA/core: Add optional access flags range
RDMA/efa: Allow passing of optional access flags for MR registration
RDMA/uverbs: Add new relaxed ordering memory region access flag
RDMA/core: Add the core support field to METHOD_GET_CONTEXT
RDMA/mlx5: Set relaxed ordering when requested
Michael J. Ruhl (1):
IB/hfi1: List all receive contexts from debugfs
Michal Kalderon (1):
RDMA/qedr: Add kernel capability flags for dpm enabled mode
Mike Marciniszyn (8):
IB/hfi1: Add accessor API routines to access context members
IB/rdmavt: Correct comments in rdmavt_qp.h header
IB/hfi1: Move chip specific functions to chip.c
IB/hfi1: Add fast and slow handlers for receive context
IB/hfi1: IB/hfi1: Add an API to handle special case drop
IB/hfi1: Create API for auto activate
IB/hfi1: Add software counter for ctxt0 seq drop
IB/hfi1: Add RcvShortLengthErrCnt to hfi1stats
Nathan Chancellor (1):
IB/hfi1: Fix logical condition in msix_request_irq
Parav Pandit (5):
IB/mlx5: Do reverse sequence during device removal
IB/core: Let IB core distribute cache update events
IB/core: Cut down single member ib_cache structure
IB/core: Rename event_handler_lock to qp_open_list_lock
RDMA/cma: Fix unbalanced cm_id reference count during address resolve
Prabhath Sajeepa (1):
IB/mlx5: Fix outstanding_pi index for GSI qps
Rao Shoaib (2):
Introduce maximum WQE size to check limits
RDMA/rxe: Compute the maximum sges and inline size based on the WQE size
Selvin Xavier (1):
RDMA/bnxt_re: Report more number of completion vectors
Sergey Gorenko (1):
IB/srp: Never use immediate data if it is disabled by a user
Weihang Li (1):
RDMA/hns: Remove some redundant variables related to capabilities
Wenpeng Liang (2):
RDMA/hns: Avoid printing address of mtt page
RDMA/hns: Replace custom macros HNS_ROCE_ALIGN_UP
Xi Wang (1):
RDMA/hns: Add support for reporting wc as software mode
Xiyu Yang (1):
RDMA/i40iw: fix a potential NULL pointer dereference
Yishai Hadas (5):
IB/core: Fix ODP get user pages flow
IB/core: Fix ODP with IB_ACCESS_HUGETLB handling
IB/mlx5: Extend caps stage to handle VAR capabilities
IB/mlx5: Introduce VAR object and its alloc/destroy methods
IB/mlx5: Add mmap support for VAR
Yixian Liu (1):
RDMA/hns: Simplify the calculation and usage of wqe idx for post verbs
Yixing Liu (1):
RDMA/hns: Remove redundant print information
zhengbin (5):
RDMA/siw: use true,false for bool variable
IB/hfi1: use true,false for bool variable
IB/iser: use true,false for bool variable
RDMA/mlx4: use true,false for bool variable
RDMA/mlx5: use true,false for bool variable
drivers/infiniband/core/Makefile | 9 +-
drivers/infiniband/core/addr.c | 2 +-
drivers/infiniband/core/cache.c | 151 +--
drivers/infiniband/core/cm.c | 1000 ++++++++++----------
drivers/infiniband/core/cm_msgs.h | 755 +--------------
drivers/infiniband/core/cma.c | 90 +-
drivers/infiniband/core/cma_trace.c | 16 +
drivers/infiniband/core/cma_trace.h | 391 ++++++++
drivers/infiniband/core/core_priv.h | 3 +-
drivers/infiniband/core/cq.c | 27 +-
drivers/infiniband/core/device.c | 42 +-
drivers/infiniband/core/ib_core_uverbs.c | 2 +
drivers/infiniband/core/nldev.c | 3 +-
drivers/infiniband/core/rdma_core.c | 235 ++---
drivers/infiniband/core/rdma_core.h | 45 +-
drivers/infiniband/core/sa_query.c | 4 +-
drivers/infiniband/core/trace.c | 14 +
drivers/infiniband/core/umem.c | 9 +-
drivers/infiniband/core/umem_odp.c | 22 +-
drivers/infiniband/core/uverbs.h | 48 +-
drivers/infiniband/core/uverbs_cmd.c | 320 ++++---
drivers/infiniband/core/uverbs_ioctl.c | 45 +-
drivers/infiniband/core/uverbs_main.c | 301 ++----
drivers/infiniband/core/uverbs_std_types.c | 44 +-
.../infiniband/core/uverbs_std_types_async_fd.c | 52 +
drivers/infiniband/core/uverbs_std_types_cq.c | 19 +-
drivers/infiniband/core/uverbs_std_types_device.c | 38 +
drivers/infiniband/core/uverbs_uapi.c | 7 +-
drivers/infiniband/core/verbs.c | 55 +-
drivers/infiniband/hw/bnxt_re/main.c | 2 +-
drivers/infiniband/hw/efa/efa_admin_cmds_defs.h | 37 +-
drivers/infiniband/hw/efa/efa_verbs.c | 15 +-
drivers/infiniband/hw/hfi1/chip.c | 198 +++-
drivers/infiniband/hw/hfi1/chip.h | 8 +
drivers/infiniband/hw/hfi1/chip_registers.h | 1 +
drivers/infiniband/hw/hfi1/common.h | 3 +
drivers/infiniband/hw/hfi1/debugfs.c | 2 +-
drivers/infiniband/hw/hfi1/driver.c | 237 ++---
drivers/infiniband/hw/hfi1/file_ops.c | 12 +-
drivers/infiniband/hw/hfi1/hfi.h | 195 +++-
drivers/infiniband/hw/hfi1/init.c | 87 +-
drivers/infiniband/hw/hfi1/msix.c | 106 ++-
drivers/infiniband/hw/hfi1/msix.h | 1 +
drivers/infiniband/hw/hfi1/rc.c | 2 +-
drivers/infiniband/hw/hfi1/trace_ctxts.h | 2 +-
drivers/infiniband/hw/hfi1/trace_rx.h | 15 +-
drivers/infiniband/hw/hfi1/vnic_main.c | 2 +-
drivers/infiniband/hw/hns/hns_roce_cq.c | 2 +
drivers/infiniband/hw/hns/hns_roce_device.h | 44 +-
drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 51 +-
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 874 +++++++++++------
drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 159 +++-
drivers/infiniband/hw/hns/hns_roce_main.c | 106 ++-
drivers/infiniband/hw/hns/hns_roce_mr.c | 4 +-
drivers/infiniband/hw/hns/hns_roce_qp.c | 92 +-
drivers/infiniband/hw/i40iw/i40iw_main.c | 2 +
drivers/infiniband/hw/mlx4/cm.c | 29 +-
drivers/infiniband/hw/mlx4/cq.c | 18 +-
drivers/infiniband/hw/mlx4/main.c | 20 +-
drivers/infiniband/hw/mlx4/qp.c | 4 +-
drivers/infiniband/hw/mlx5/devx.c | 159 ++--
drivers/infiniband/hw/mlx5/gsi.c | 3 +-
drivers/infiniband/hw/mlx5/ib_virt.c | 28 +-
drivers/infiniband/hw/mlx5/main.c | 224 ++++-
drivers/infiniband/hw/mlx5/mem.c | 25 -
drivers/infiniband/hw/mlx5/mlx5_ib.h | 38 +-
drivers/infiniband/hw/mlx5/mr.c | 81 +-
drivers/infiniband/hw/mlx5/odp.c | 44 +-
drivers/infiniband/hw/mlx5/qp.c | 4 +-
drivers/infiniband/hw/qedr/verbs.c | 13 +-
drivers/infiniband/sw/rdmavt/rc.c | 9 +-
drivers/infiniband/sw/rxe/rxe_param.h | 7 +-
drivers/infiniband/sw/rxe/rxe_qp.c | 18 +-
drivers/infiniband/sw/rxe/rxe_verbs.h | 2 +-
drivers/infiniband/sw/siw/siw.h | 26 +-
drivers/infiniband/sw/siw/siw_cm.c | 2 +-
drivers/infiniband/sw/siw/siw_cq.c | 2 +-
drivers/infiniband/sw/siw/siw_main.c | 2 +-
drivers/infiniband/sw/siw/siw_qp.c | 13 +-
drivers/infiniband/sw/siw/siw_qp_rx.c | 6 +-
drivers/infiniband/sw/siw/siw_qp_tx.c | 2 +-
drivers/infiniband/sw/siw/siw_verbs.c | 61 +-
drivers/infiniband/ulp/iser/iser_memory.c | 2 +-
drivers/infiniband/ulp/iser/iser_verbs.c | 2 +-
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.h | 2 +-
drivers/infiniband/ulp/srp/ib_srp.c | 3 +-
drivers/infiniband/ulp/srpt/ib_srpt.c | 2 -
include/linux/mlx4/cq.h | 5 +
include/linux/mlx5/driver.h | 5 +
include/linux/mlx5/mlx5_ifc.h | 24 +-
include/rdma/ib_cm.h | 34 -
include/rdma/ib_verbs.h | 42 +-
include/rdma/iba.h | 146 +++
include/rdma/ibta_vol1_c12.h | 213 +++++
include/rdma/rdmavt_qp.h | 22 +-
include/rdma/uverbs_named_ioctl.h | 6 +-
include/rdma/uverbs_std_types.h | 13 +-
include/rdma/uverbs_types.h | 34 +-
include/trace/events/rdma_core.h | 394 ++++++++
include/uapi/rdma/ib_user_ioctl_cmds.h | 15 +
include/uapi/rdma/ib_user_ioctl_verbs.h | 12 +
include/uapi/rdma/mlx5_user_ioctl_cmds.h | 17 +
include/uapi/rdma/qedr-abi.h | 18 +-
103 files changed, 4659 insertions(+), 3200 deletions(-)
(diffstat from tag for-linus-merged)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2020-01-10 2:16 Jason Gunthorpe
2020-01-11 14:45 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2020-01-10 2:16 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1722 bytes --]
Hi Linus,
First rc pull request
A very small set of fixes, most people seem to still be recovering
from December!
Thanks,
Jason
The following changes since commit fd6988496e79a6a4bdb514a4655d2920209eb85d:
Linux 5.5-rc4 (2019-12-29 15:29:16 -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 9554de394b7eee01606e64c3806cd43893f3037e:
i40iw: Remove setting of VMA private data and use rdma_user_mmap_io (2020-01-07 15:07:37 -0400)
----------------------------------------------------------------
First RDMA subsystem updates for 5.5-rc
Five small driver fixes:
- Fix error flow with MR allocation in bnxt_re
- An errata work around for bnxt_re
- Misuse of the workqueue API in hfi1
- Protocol error in hfi1
- Regression in 5.5 related to the mmap rework with i40iw
----------------------------------------------------------------
Kaike Wan (2):
IB/hfi1: Don't cancel unused work item
IB/hfi1: Adjust flow PSN with the correct resync_psn
Selvin Xavier (2):
RDMA/bnxt_re: Avoid freeing MR resources if dereg fails
RDMA/bnxt_re: Fix Send Work Entry state check while polling completions
Shiraz Saleem (1):
i40iw: Remove setting of VMA private data and use rdma_user_mmap_io
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 4 +++-
drivers/infiniband/hw/bnxt_re/qplib_fp.c | 12 ++++++------
drivers/infiniband/hw/hfi1/iowait.c | 4 +++-
drivers/infiniband/hw/hfi1/tid_rdma.c | 9 +++++++++
drivers/infiniband/hw/i40iw/i40iw_verbs.c | 14 ++++++--------
5 files changed, 27 insertions(+), 16 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-11-27 0:24 Jason Gunthorpe
2019-11-27 18:19 ` Linus Torvalds
2019-11-27 18:45 ` pr-tracker-bot
0 siblings, 2 replies; 149+ messages in thread
From: Jason Gunthorpe @ 2019-11-27 0:24 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 23868 bytes --]
Hi Linus,
These are the proposed RDMA patches for 5.5
Again another fairly quiet cycle with few notable core code changes and the
usual variety of driver bug fixes and small improvements.
There is one conflict with v5.4, the hunk should be resolved in favor of
rdma.git
The tag for-linus-merged with my merge resolution to your tree is also
available to pull.
The following changes since commit 975b992fdd4b38028d7c1dcf38286d6e7991c1b2:
net/mlx5: Add new chain for netfilter flow table offload (2019-11-13 13:49:33 -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 f295e4cece5cb4c60715fed539abcd62468f9ef1:
RDMA/hns: Delete unnecessary callback functions for cq (2019-11-25 10:31:48 -0400)
----------------------------------------------------------------
RDMA subsystem updates for 5.5
Mainly a collection of smaller of driver updates this cycle.
- Various driver updates and bug fixes for siw, bnxt_re, hns, qedr,
iw_cxgb4, vmw_pvrdma, mlx5
- Improvements in SRPT from working with iWarp
- SRIOV VF support for bnxt_re
- Skeleton kernel-doc files for drivers/infiniband
- User visible counters for events related to ODP
- Common code for tracking of mmap lifetimes so that drivers can link HW
object liftime to a VMA
- ODP bug fixes and rework
- RDMA READ support for efa
- Removal of the very old cxgb3 driver
----------------------------------------------------------------
Arnd Bergmann (1):
RDMA/hns: Fix build error again
Bart Van Assche (20):
RDMA/siw: Simplify several debug messages
RDMA/siw: Fix port number endianness in a debug message
RDMA/siw: Make node GUIDs valid EUI-64 identifiers
RDMA/srp: Remove two casts
RDMA/srp: Honor the max_send_sge device attribute
RDMA/srp: Make route resolving error messages more informative
RDMA/srpt: Fix handling of SR-IOV and iWARP ports
RDMA/srpt: Fix handling of iWARP logins
RDMA/srpt: Improve a debug message
RDMA/srpt: Rework the approach for closing an RDMA channel
RDMA/srpt: Rework the code that waits until an RDMA port is no longer in use
RDMA/srpt: Make the code for handling port identities more systematic
RDMA/srpt: Postpone HCA removal until after configfs directory removal
RDMA/srpt: Fix TPG creation
RDMA/core: Fix ib_dma_max_seg_size()
RDMA/rxe: Increase DMA max_segment_size parameter
RDMA/siw: Increase DMA max_segment_size parameter
RDMA/core: Set DMA parameters correctly
Revert "RDMA/srpt: Postpone HCA removal until after configfs directory removal"
RDMA/srpt: Report the SCSI residual to the initiator
Bernard Metzler (3):
RDMA/siw: Fix SQ/RQ drain logic
RDMA/siw: Fix post_recv QP state locking
RDMA/siw: Cleanup unused mmap structures.
Bryan Tan (1):
RDMA/vmw_pvrdma: Use resource ids from physical device if available
Christoph Hellwig (2):
dma-mapping: remove the DMA_ATTR_WRITE_BARRIER flag
IB/umem: remove the dmasync argument to ib_umem_get
Christophe JAILLET (1):
RDMA/iw_cgxb4: Fix an error handling path in 'c4iw_connect()'
Chuhong Yuan (1):
RDMA/uverbs: Add a check for uverbs_attr_get to uverbs_copy_to_struct_or_zero
Colin Ian King (3):
RDMA/hns: Fix memory leak on 'context' on error return path
RDMA/ocrdma: Fix spelling mistake in variable name
IB/hfi1: remove redundant assignment to variable ret
Dag Moxnes (1):
RDMA/cma: Use ACK timeout for RoCE packetLifeTime
Daniel Kranzdorf (2):
RDMA/efa: Support remote read access in MR registration
RDMA/efa: Expose RDMA read related attributes
Danit Goldberg (6):
IB/mlx4: Update HW GID table while adding vlan GID
RDMA/cm: Use refcount_t type for refcount variable
net/core: Add support for getting VF GUIDs
IB/core: Add interfaces to get VF node and port GUIDs
IB/ipoib: Add ndo operation for getting VFs GUID attributes
IB/mlx5: Implement callbacks for getting VFs GUID attributes
Devesh Sharma (3):
RDMA/bnxt_re: Enable SRIOV VF support on Broadcom's 57500 adapter series
RDMA/bnxt_re: Fix stat push into dma buffer on gen p5 devices
RDMA/bnxt_re: Fix missing le16_to_cpu
Donald Dutile (1):
ib/srp: Add missing new line after displaying fast_io_fail_tmo param
Erez Alfasi (6):
IB/mlx5: Remove unnecessary return statement
IB/mlx5: Remove unnecessary else statement
IB/mlx5: Introduce ODP diagnostic counters
RDMA/nldev: Allow different fill function per resource
RDMA/mlx5: Return ODP type per MR
RDMA/nldev: Provide MR statistics
Gal Pressman (2):
RDMA/efa: Clear the admin command buffer prior to its submission
RDMA/efa: Store network attributes in device attributes
Honggang Li (2):
RDMA/srp: Add parse function for maximum initiator to target IU size
RDMA/srp: Calculate max_it_iu_size if remote max_it_iu length available
Jason Gunthorpe (21):
Merge branch 'mlx5-rd-sgl' into rdma.git for-next
RDMA/hns: Prevent undefined behavior in hns_roce_set_user_sq_size()
rdma: Remove nes ABI header
Merge tag 'v5.4-rc5' into rdma.git for-next
RDMA/mlx5: Use SRCU properly in ODP prefetch
RDMA/mlx5: Split sig_err MR data into its own xarray
RDMA/mlx5: Use a dedicated mkey xarray for ODP
RDMA/mlx5: Delete struct mlx5_priv->mkey_table
RDMA/mlx5: Rework implicit_mr_get_data
RDMA/mlx5: Lift implicit_mr_alloc() into the two routines that call it
RDMA/mlx5: Set the HW IOVA of the child MRs to their place in the tree
RDMA/mlx5: Split implicit handling from pagefault_mr
RDMA/mlx5: Use an xarray for the children of an implicit ODP
RDMA/mlx5: Reduce locking in implicit_mr_get_data()
RDMA/mlx5: Avoid double lookups on the pagefault path
RDMA/mlx5: Rework implicit ODP destroy
RDMA/mlx5: Do not store implicit children in the odp_mkeys xarray
RDMA/mlx5: Do not race with mlx5_ib_invalidate_range during create and destroy
RDMA/odp: Remove broken debugging call to invalidate_range
Merge branch 'odp_rework' into rdma.git for-next
Merge branch 'ib-guids' into rdma.git for-next
Kamal Heib (8):
RDMA/core: Fix return code when modify_device isn't supported
RDMA/bnxt_re: Remove unsupported modify_device callback
RDMA/rxe: Verify modify_device mask
RDMA/core: Fix return code when modify_port isn't supported
RDMA/hns: Remove unsupported modify_port callback
RDMA/ocrdma: Remove unsupported modify_port callback
RDMA/qedr: Remove unsupported modify_port callback
RDMA/qedr: Make qedr_iw_load_qp() static
Krzysztof Kozlowski (1):
RDMA/bnxt_re: Fix Kconfig indentation
Lang Cheng (4):
RDMA/hns: Modify return value of restrack functions
RDMA/hns: Remove unnecessary structure hns_roce_sqp
RDMA/hns: Simplify doorbell initialization code
RDMA/hns: Modify hns_roce_hw_v2_get_cfg to simplify the code
Leon Romanovsky (19):
RDMA/mlx5: Group boolean parameters to take less space
RDMA/restrack: Remove PID namespace support
RDMA/core: Check that process is still alive before sending it to the users
RDMA/rxe: Remove useless rxe_init_device_param assignments
RDMA/cm: Delete unused cm_is_active_peer function
RDMA/cm: Use specific keyword to check define
RDMA/cm: Update copyright together with SPDX tag
RDMA/hns: Delete BITS_PER_BYTE redefinition
RDMA/mlx5: Return proper error value
RDMA/mad: Delete never implemented functions
RDMA/qib: Delete extra line
RDMA/qib: Delete empty check_cc_key function
RDMA/mad: Allocate zeroed MAD buffer
RDMA/ocrdma: Make ocrdma_pma_counters() return void
RDMA/mad: Do not check MAD sizes in roce and ib drivers
RDMA/ocrdma: Simplify process_mad function
RDMA/mlx5: Rewrite MAD processing logic to be readable
RDMA/hfi1: Delete unreachable code
RDMA: Change MAD processing function to remove extra casting and parameter
Lijun Ou (1):
RDMA/hns: Fix to support 64K page for srq
Luke Starrett (1):
RDMA/bnxt_re: Fix chip number validation Broadcom's Gen P5 series
Mark Zhang (2):
RDMA/counter: Prevent QP counter manual binding in auto mode
IB/mlx5: Support extended number of strides for Striding RQ
Max Gurtovoy (4):
IB/iser: add unlikely checks in the fast path
IB/iser: bound protection_sg size by data_sg size
IB/iser: remove redundant macro definitions
RDMA/iser: Use iser_err instead of pr_err for logging
Michael Guralnik (2):
IB/mlx5: Align usage of QP1 create flags with rest of mlx5 defines
IB/mlx5: Test write combining support
Michal Kalderon (13):
RDMA/qedr: Fix srqs xarray initialization
RDMA/qedr: Fix qpids xarray api used
RDMA/qedr: Fix synchronization methods and memory leaks in qedr
RDMA/qedr: Fix memory leak in user qp and mr
RDMA/core: Move core content from ib_uverbs to ib_core
RDMA/core: Create mmap database and cookie helper functions
RDMA: Connect between the mmap entry and the umap_priv structure
RDMA/efa: Use the common mmap_xa helpers
RDMA/siw: Use the common mmap_xa helpers
RDMA/qedr: Use the common mmap API
RDMA/qedr: Add doorbell overflow recovery support
RDMA/qedr: Add iWARP doorbell recovery support
RDMA/qedr: Fix null-pointer dereference when calling rdma_user_mmap_get_offset
Pan Bian (2):
RDMA/qedr: Fix potential use after free
RDMA/i40iw: Fix potential use after free
Parav Pandit (4):
IB/cm: Use container_of() instead of typecast
IB/mlx5: Introduce and use mkey context setting helper routine
IB/cma: Honor traffic class from lower netdevice for RoCE
IB/core: Do not notify GID change event of an unregistered device
Potnuri Bharat Teja (2):
RDMA/iw_cxgb3: Remove the iw_cxgb3 module from kernel
RDMA/iw_cxgb4: Report correct port speed/width
Ran Rozenstein (1):
IB/mlx5: Remove dead code
Viresh Kumar (1):
RDMA/qib: Validate ->show()/store() callbacks before calling them
Weihang Li (3):
RDMA/hns: remove a redundant le16_to_cpu
RDMA/hns: Fix wrong parameters when initial mtt of srq->idx_que
RDMA/hns: Modify variable/field name from vlan to vlan_id
Wenpeng Liang (1):
RDMA/hns: Modify appropriate printings
Yamin Friedman (2):
RDMA/rw: Support threshold for registration vs scattering to local pages
RDMA/mlx5: Add capability for max sge to get optimized performance
Yangyang Li (2):
RDMA/hns: Release qp resources when failed to destroy qp
RDMA/hns: Bugfix for qpc/cqc timer configuration
Yevgeny Kliteynik (1):
IB/mlx5: Support flow counters offset for bulk counters
Yishai Hadas (1):
RDMA/uapi: Fix and re-organize the usage of rdma_driver_id
Yixian Liu (8):
RDMA/hns: Delete unnecessary variable max_post
RDMA/hns: Delete unnecessary uar from hns_roce_cq
RDMA/hns: Modify fields of struct hns_roce_srq
RDMA/hns: Fix non-standard error codes
RDMA/hns: Redefine interfaces used in creating cq
RDMA/hns: Redefine the member of hns_roce_cq struct
RDMA/hns: Rename the functions used inside creating cq
RDMA/hns: Delete unnecessary callback functions for cq
Yixing Liu (2):
RDMA/hns: Fix a spelling mistake in a macro
RDMA/hns: Replace not intuitive function/macro names
rd.dunlab@gmail.com (11):
infiniband: fix ulp/iser/iscsi_iser.[hc] kernel-doc notation
infiniband: fix core/ipwm_util.h kernel-doc warnings
infiniband: fix ulp/iser/iscsi_iser.h kernel-doc warnings
infiniband: fix ulp/opa_vnic/opa_vnic_internal.h kernel-doc notation
infiniband: fix ulp/srpt/ib_srpt.h kernel-doc notation
infiniband: fix core/verbs.c kernel-doc notation
infiniband: fix ulp/iser/iser_verbs.c kernel-doc notation
infiniband: fix ulp/iser/iser_initiator.c kernel-doc warnings
infiniband: fix core/ kernel-doc notation
infiniband: fix sw/rdmavt/ kernel-doc notation
infiniband: add a Documentation driver-api chapter for Infiniband
Documentation/ABI/stable/sysfs-class-infiniband | 19 -
Documentation/ABI/stable/sysfs-driver-ib_srp | 2 +
Documentation/DMA-attributes.txt | 18 -
Documentation/driver-api/index.rst | 1 +
Documentation/driver-api/infiniband.rst | 127 ++
MAINTAINERS | 8 -
drivers/infiniband/Kconfig | 1 -
drivers/infiniband/core/Makefile | 2 +-
drivers/infiniband/core/cache.c | 8 +-
drivers/infiniband/core/cm.c | 66 +-
drivers/infiniband/core/cm_msgs.h | 32 +-
drivers/infiniband/core/cma.c | 107 +-
drivers/infiniband/core/core_priv.h | 11 +
drivers/infiniband/core/counters.c | 40 +-
drivers/infiniband/core/device.c | 50 +-
drivers/infiniband/core/ib_core_uverbs.c | 335 +++
drivers/infiniband/core/iwpm_util.h | 5 +-
drivers/infiniband/core/mad.c | 31 +-
drivers/infiniband/core/nldev.c | 141 +-
drivers/infiniband/core/rdma_core.c | 1 +
drivers/infiniband/core/restrack.c | 20 +-
drivers/infiniband/core/restrack.h | 1 -
drivers/infiniband/core/rw.c | 25 +-
drivers/infiniband/core/sa_query.c | 2 +-
drivers/infiniband/core/sysfs.c | 12 +-
drivers/infiniband/core/umem.c | 12 +-
drivers/infiniband/core/umem_odp.c | 38 +-
drivers/infiniband/core/uverbs_cmd.c | 2 +
drivers/infiniband/core/uverbs_ioctl.c | 3 +
drivers/infiniband/core/uverbs_main.c | 84 +-
drivers/infiniband/core/verbs.c | 12 +
drivers/infiniband/hw/Makefile | 1 -
drivers/infiniband/hw/bnxt_re/Kconfig | 12 +-
drivers/infiniband/hw/bnxt_re/bnxt_re.h | 1 +
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 28 +-
drivers/infiniband/hw/bnxt_re/ib_verbs.h | 3 -
drivers/infiniband/hw/bnxt_re/main.c | 143 +-
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 5 +-
drivers/infiniband/hw/bnxt_re/qplib_res.h | 8 +-
drivers/infiniband/hw/cxgb3/Kconfig | 19 -
drivers/infiniband/hw/cxgb3/Makefile | 7 -
drivers/infiniband/hw/cxgb3/cxio_hal.c | 1312 ------------
drivers/infiniband/hw/cxgb3/cxio_hal.h | 204 --
drivers/infiniband/hw/cxgb3/cxio_resource.c | 344 ---
drivers/infiniband/hw/cxgb3/cxio_resource.h | 69 -
drivers/infiniband/hw/cxgb3/cxio_wr.h | 802 -------
drivers/infiniband/hw/cxgb3/iwch.c | 282 ---
drivers/infiniband/hw/cxgb3/iwch.h | 155 --
drivers/infiniband/hw/cxgb3/iwch_cm.c | 2258 --------------------
drivers/infiniband/hw/cxgb3/iwch_cm.h | 233 --
drivers/infiniband/hw/cxgb3/iwch_cq.c | 230 --
drivers/infiniband/hw/cxgb3/iwch_ev.c | 232 --
drivers/infiniband/hw/cxgb3/iwch_mem.c | 101 -
drivers/infiniband/hw/cxgb3/iwch_provider.c | 1321 ------------
drivers/infiniband/hw/cxgb3/iwch_provider.h | 347 ---
drivers/infiniband/hw/cxgb3/iwch_qp.c | 1082 ----------
drivers/infiniband/hw/cxgb3/tcb.h | 632 ------
drivers/infiniband/hw/cxgb4/cm.c | 4 +-
drivers/infiniband/hw/cxgb4/mem.c | 2 +-
drivers/infiniband/hw/cxgb4/provider.c | 7 +-
drivers/infiniband/hw/efa/efa.h | 13 +-
drivers/infiniband/hw/efa/efa_admin_cmds_defs.h | 29 +-
drivers/infiniband/hw/efa/efa_com.c | 5 +-
drivers/infiniband/hw/efa/efa_com_cmd.c | 40 +-
drivers/infiniband/hw/efa/efa_com_cmd.h | 19 +-
drivers/infiniband/hw/efa/efa_main.c | 17 +-
drivers/infiniband/hw/efa/efa_verbs.c | 370 ++--
drivers/infiniband/hw/hfi1/mad.c | 17 +-
drivers/infiniband/hw/hfi1/platform.c | 2 +-
drivers/infiniband/hw/hfi1/verbs.h | 5 +-
drivers/infiniband/hw/hns/Kconfig | 17 +-
drivers/infiniband/hw/hns/Makefile | 8 +-
drivers/infiniband/hw/hns/hns_roce_ah.c | 14 +-
drivers/infiniband/hw/hns/hns_roce_alloc.c | 4 +-
drivers/infiniband/hw/hns/hns_roce_cmd.h | 14 +-
drivers/infiniband/hw/hns/hns_roce_cq.c | 300 ++-
drivers/infiniband/hw/hns/hns_roce_db.c | 2 +-
drivers/infiniband/hw/hns/hns_roce_device.h | 55 +-
drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 38 +-
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 76 +-
drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 4 +-
drivers/infiniband/hw/hns/hns_roce_main.c | 21 +-
drivers/infiniband/hw/hns/hns_roce_mr.c | 69 +-
drivers/infiniband/hw/hns/hns_roce_pd.c | 2 +-
drivers/infiniband/hw/hns/hns_roce_qp.c | 54 +-
drivers/infiniband/hw/hns/hns_roce_restrack.c | 10 +-
drivers/infiniband/hw/hns/hns_roce_srq.c | 86 +-
drivers/infiniband/hw/i40iw/i40iw_cm.c | 2 +-
drivers/infiniband/hw/i40iw/i40iw_verbs.c | 2 +-
drivers/infiniband/hw/mlx4/cq.c | 2 +-
drivers/infiniband/hw/mlx4/doorbell.c | 2 +-
drivers/infiniband/hw/mlx4/mad.c | 30 +-
drivers/infiniband/hw/mlx4/main.c | 18 +-
drivers/infiniband/hw/mlx4/mlx4_ib.h | 8 +-
drivers/infiniband/hw/mlx4/mr.c | 2 +-
drivers/infiniband/hw/mlx4/qp.c | 5 +-
drivers/infiniband/hw/mlx4/srq.c | 2 +-
drivers/infiniband/hw/mlx5/Makefile | 2 +-
drivers/infiniband/hw/mlx5/cq.c | 37 +-
drivers/infiniband/hw/mlx5/devx.c | 25 +-
drivers/infiniband/hw/mlx5/doorbell.c | 2 +-
drivers/infiniband/hw/mlx5/flow.c | 29 +-
drivers/infiniband/hw/mlx5/gsi.c | 2 +-
drivers/infiniband/hw/mlx5/ib_virt.c | 24 +
drivers/infiniband/hw/mlx5/mad.c | 124 +-
drivers/infiniband/hw/mlx5/main.c | 75 +-
drivers/infiniband/hw/mlx5/mem.c | 199 ++
drivers/infiniband/hw/mlx5/mlx5_ib.h | 64 +-
drivers/infiniband/hw/mlx5/mr.c | 177 +-
drivers/infiniband/hw/mlx5/odp.c | 989 +++++----
drivers/infiniband/hw/mlx5/qp.c | 60 +-
drivers/infiniband/hw/mlx5/restrack.c | 90 +
drivers/infiniband/hw/mlx5/srq.c | 2 +-
drivers/infiniband/hw/mthca/mthca_dev.h | 12 +-
drivers/infiniband/hw/mthca/mthca_mad.c | 74 +-
drivers/infiniband/hw/mthca/mthca_provider.c | 4 +-
drivers/infiniband/hw/ocrdma/ocrdma_ah.c | 33 +-
drivers/infiniband/hw/ocrdma/ocrdma_ah.h | 11 +-
drivers/infiniband/hw/ocrdma/ocrdma_main.c | 1 -
drivers/infiniband/hw/ocrdma/ocrdma_sli.h | 2 +-
drivers/infiniband/hw/ocrdma/ocrdma_stats.c | 9 +-
drivers/infiniband/hw/ocrdma/ocrdma_stats.h | 3 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 8 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.h | 2 -
drivers/infiniband/hw/qedr/main.c | 5 +-
drivers/infiniband/hw/qedr/qedr.h | 72 +-
drivers/infiniband/hw/qedr/qedr_iw_cm.c | 150 +-
drivers/infiniband/hw/qedr/verbs.c | 643 ++++--
drivers/infiniband/hw/qedr/verbs.h | 12 +-
drivers/infiniband/hw/qib/qib_iba6120.c | 1 -
drivers/infiniband/hw/qib/qib_mad.c | 38 +-
drivers/infiniband/hw/qib/qib_sysfs.c | 6 +
drivers/infiniband/hw/qib/qib_verbs.h | 5 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 2 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_dev_api.h | 15 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c | 2 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 119 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c | 2 +-
drivers/infiniband/sw/rdmavt/ah.c | 1 -
drivers/infiniband/sw/rdmavt/cq.c | 2 -
drivers/infiniband/sw/rdmavt/mr.c | 2 +-
drivers/infiniband/sw/rdmavt/qp.c | 30 +-
drivers/infiniband/sw/rdmavt/vt.c | 3 +-
drivers/infiniband/sw/rxe/rxe.c | 13 -
drivers/infiniband/sw/rxe/rxe_mr.c | 2 +-
drivers/infiniband/sw/rxe/rxe_param.h | 13 -
drivers/infiniband/sw/rxe/rxe_verbs.c | 7 +
drivers/infiniband/sw/rxe/rxe_verbs.h | 1 +
drivers/infiniband/sw/siw/siw.h | 31 +-
drivers/infiniband/sw/siw/siw_cm.c | 45 +-
drivers/infiniband/sw/siw/siw_main.c | 35 +-
drivers/infiniband/sw/siw/siw_verbs.c | 338 +--
drivers/infiniband/sw/siw/siw_verbs.h | 1 +
drivers/infiniband/ulp/ipoib/ipoib_main.c | 10 +
drivers/infiniband/ulp/iser/iscsi_iser.c | 5 +-
drivers/infiniband/ulp/iser/iscsi_iser.h | 34 +-
drivers/infiniband/ulp/iser/iser_initiator.c | 5 +
drivers/infiniband/ulp/iser/iser_memory.c | 6 +-
drivers/infiniband/ulp/iser/iser_verbs.c | 72 +-
.../infiniband/ulp/opa_vnic/opa_vnic_internal.h | 8 +-
drivers/infiniband/ulp/srp/ib_srp.c | 47 +-
drivers/infiniband/ulp/srp/ib_srp.h | 4 +
drivers/infiniband/ulp/srpt/ib_srpt.c | 247 ++-
drivers/infiniband/ulp/srpt/ib_srpt.h | 58 +-
drivers/net/ethernet/mellanox/mlx5/core/main.c | 4 -
drivers/net/ethernet/mellanox/mlx5/core/mr.c | 28 +-
include/linux/dma-mapping.h | 5 +-
include/linux/mlx5/driver.h | 4 -
include/linux/netdevice.h | 4 +
include/rdma/ib_cm.h | 32 +-
include/rdma/ib_mad.h | 40 -
include/rdma/ib_umem.h | 4 +-
include/rdma/ib_umem_odp.h | 18 -
include/rdma/ib_verbs.h | 79 +-
include/rdma/restrack.h | 5 +
include/uapi/rdma/cxgb3-abi.h | 82 -
include/uapi/rdma/efa-abi.h | 6 +
include/uapi/rdma/ib_user_ioctl_verbs.h | 22 +
include/uapi/rdma/mlx5_user_ioctl_cmds.h | 1 +
include/uapi/rdma/nes-abi.h | 115 -
include/uapi/rdma/qedr-abi.h | 25 +
include/uapi/rdma/rdma_user_ioctl_cmds.h | 22 -
include/uapi/rdma/vmw_pvrdma-abi.h | 5 +
net/core/rtnetlink.c | 14 +
184 files changed, 4214 insertions(+), 12877 deletions(-)
(diffstat from tag for-linus-merged)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2019-11-27 0:24 Jason Gunthorpe
@ 2019-11-27 18:19 ` Linus Torvalds
2019-11-27 19:23 ` Jason Gunthorpe
2019-11-27 18:45 ` pr-tracker-bot
1 sibling, 1 reply; 149+ messages in thread
From: Linus Torvalds @ 2019-11-27 18:19 UTC (permalink / raw)
To: Jason Gunthorpe; +Cc: Doug Ledford, linux-rdma, linux-kernel
On Tue, Nov 26, 2019 at 4:24 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
>
> There is one conflict with v5.4, the hunk should be resolved in favor of
> rdma.git
Ok, so no need for the (now two!) xa_erase() calls to be the
"xa_erase_irq()" one?
Linus
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2019-11-27 18:19 ` Linus Torvalds
@ 2019-11-27 19:23 ` Jason Gunthorpe
0 siblings, 0 replies; 149+ messages in thread
From: Jason Gunthorpe @ 2019-11-27 19:23 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Doug Ledford, linux-rdma, linux-kernel
On Wed, Nov 27, 2019 at 10:19:52AM -0800, Linus Torvalds wrote:
> On Tue, Nov 26, 2019 at 4:24 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
> >
> > There is one conflict with v5.4, the hunk should be resolved in favor of
> > rdma.git
>
> Ok, so no need for the (now two!) xa_erase() calls to be the
> "xa_erase_irq()" one?
Two? Yes dropping the irq is right.
-rc still had the irq call xa_store, but that part was removed in
this code in -next.
This conflict is because the fixes sent to -rc accidently missed that
-rc still had the irq and had a wrong xa_store.
I wanted to include the combined diff here, but git doesn't want to
show it to me :\
$ git show -c for-linus-merged drivers/infiniband/hw/mlx5/mr.c
$ git show --cc for-linus-merged drivers/infiniband/hw/mlx5/mr.c
It looks OK in your tree, thanks
Jason
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2019-11-27 0:24 Jason Gunthorpe
2019-11-27 18:19 ` Linus Torvalds
@ 2019-11-27 18:45 ` pr-tracker-bot
1 sibling, 0 replies; 149+ messages in thread
From: pr-tracker-bot @ 2019-11-27 18:45 UTC (permalink / raw)
To: Jason Gunthorpe; +Cc: Linus Torvalds, Doug Ledford, linux-rdma, linux-kernel
The pull request you sent on Wed, 27 Nov 2019 00:24:40 +0000:
> 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/d76886972823ce456c0c61cd2284e85668e2131e
Thank you!
--
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-11-14 15:16 Jason Gunthorpe
2019-11-14 16:55 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2019-11-14 15:16 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1755 bytes --]
Hi Linus,
Third rc pull request
A small set of bug fixes for the hfi and hns drivers.
The following changes since commit a99d8080aaf358d5d23581244e5da23b35e340b9:
Linux 5.4-rc6 (2019-11-03 14:07:26 -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 411c1e6774e2e1f96b1ccce4f119376b94ade3e4:
RDMA/hns: Correct the value of srq_desc_size (2019-11-06 13:37:02 -0400)
----------------------------------------------------------------
RDMA subsystem updates for 5.4-rc
Bug fixes for old bugs in the hns and hfi1 drivers:
- Calculate various values in hns properly to avoid over/underflows in
some cases
- Fix an oops, PCI negotiation on Gen4 systems, and bugs related to
retries
----------------------------------------------------------------
James Erwin (1):
IB/hfi1: Ensure full Gen3 speed in a Gen4 system
Kaike Wan (3):
IB/hfi1: Ensure r_tid_ack is valid before building TID RDMA ACK packet
IB/hfi1: Calculate flow weight based on QP MTU for TID RDMA
IB/hfi1: TID RDMA WRITE should not return IB_WC_RNR_RETRY_EXC_ERR
Sirong Wang (1):
RDMA/hns: Correct the value of HNS_ROCE_HEM_CHUNK_LEN
Wenpeng Liang (1):
RDMA/hns: Correct the value of srq_desc_size
drivers/infiniband/hw/hfi1/init.c | 1 -
drivers/infiniband/hw/hfi1/pcie.c | 4 ++-
drivers/infiniband/hw/hfi1/rc.c | 16 ++++-----
drivers/infiniband/hw/hfi1/tid_rdma.c | 57 ++++++++++++++++++--------------
drivers/infiniband/hw/hfi1/tid_rdma.h | 3 +-
drivers/infiniband/hw/hns/hns_roce_hem.h | 2 +-
drivers/infiniband/hw/hns/hns_roce_srq.c | 2 +-
7 files changed, 46 insertions(+), 39 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-10-31 18:22 Jason Gunthorpe
2019-11-01 17:10 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2019-10-31 18:22 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 3307 bytes --]
Hi Linus,
Second rc pull request
The usual collection of driver bug fixes, and a few regressions. This cycle
has been reasonably quiet on the -rc front, with some higher -next activity
thus far.
The following changes since commit 0417791536ae1e28d7f0418f1d20048ec4d3c6cf:
RDMA/mlx5: Add missing synchronize_srcu() for MW cases (2019-10-04 15:54:22 -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 b681a0529968d2261aa15d7a1e78801b2c06bb07:
RDMA/hns: Prevent memory leaks of eq->buf_list (2019-10-28 15:06:38 -0300)
----------------------------------------------------------------
RDMA subsystem updates for 5.4-rc
A number of bug fixes and a regression fix:
- Various issues from static analysis in hfi1, uverbs, hns, and cxgb4
- Fix for deadlock in a case when the new auto RDMA module loading is
used
- Missing _irq notation in a prior -rc patch found by lockdep
- Fix a locking and lifetime issue in siw
- Minor functional bug fixes in cxgb4, mlx5, qedr
- Fix a regression where vlan interfaces no longer worked with RDMA CM in
some cases
----------------------------------------------------------------
Dan Carpenter (1):
RDMA/uverbs: Prevent potential underflow
Jason Gunthorpe (1):
RDMA/mlx5: Use irq xarray locking for mkey_table
Kaike Wan (1):
IB/hfi1: Avoid excessive retry for TID RDMA READ request
Kamal Heib (1):
RDMA/qedr: Fix reported firmware version
Krishnamraju Eraparaju (2):
RDMA/iwcm: move iw_rem_ref() calls out of spinlock
RDMA/siw: free siw_base_qp in kref release routine
Lijun Ou (1):
RDMA/hns: Prevent memory leaks of eq->buf_list
Mark Zhang (1):
RDMA/nldev: Skip counter if port doesn't match
Mike Marciniszyn (1):
IB/hfi1: Use a common pad buffer for 9B and 16B packets
Parav Pandit (2):
IB/core: Use rdma_read_gid_l2_fields to compare GID L2 fields
IB/core: Avoid deadlock during netlink message handling
Potnuri Bharat Teja (2):
iw_cxgb4: fix ECN check on the passive accept
RDMA/iw_cxgb4: Avoid freeing skb twice in arp failure case
Rafi Wiener (1):
RDMA/mlx5: Clear old rate limit when closing QP
drivers/infiniband/core/core_priv.h | 1 +
drivers/infiniband/core/device.c | 2 +
drivers/infiniband/core/iwcm.c | 52 +++++++-------
drivers/infiniband/core/netlink.c | 107 ++++++++++++++---------------
drivers/infiniband/core/nldev.c | 2 +-
drivers/infiniband/core/uverbs.h | 2 +-
drivers/infiniband/core/verbs.c | 9 +--
drivers/infiniband/hw/cxgb4/cm.c | 30 ++++----
drivers/infiniband/hw/hfi1/sdma.c | 5 +-
drivers/infiniband/hw/hfi1/tid_rdma.c | 5 --
drivers/infiniband/hw/hfi1/verbs.c | 10 ++-
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 6 +-
drivers/infiniband/hw/mlx5/mr.c | 4 +-
drivers/infiniband/hw/mlx5/qp.c | 8 ++-
drivers/infiniband/hw/qedr/main.c | 2 +-
drivers/infiniband/sw/siw/siw_qp.c | 2 +
drivers/infiniband/sw/siw/siw_verbs.c | 2 -
include/rdma/ib_verbs.h | 2 +-
18 files changed, 127 insertions(+), 124 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-10-09 14:28 Jason Gunthorpe
2019-10-09 19:30 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2019-10-09 14:28 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 3492 bytes --]
Hi Linus,
First rc pull request
The usual collection of driver bug fixes, and a few regressions from the merge
window. Nothing particularly worrisome.
The following changes since commit 54ecb8f7028c5eb3d740bb82b0f1d90f2df63c5c:
Linux 5.4-rc1 (2019-09-30 10:35:40 -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 0417791536ae1e28d7f0418f1d20048ec4d3c6cf:
RDMA/mlx5: Add missing synchronize_srcu() for MW cases (2019-10-04 15:54:22 -0300)
----------------------------------------------------------------
RDMA subsystem updates for 5.4-rc
Various minor bug fixes posted in the last couple of weeks:
- Various missed memory frees and error unwind bugs
- Fix regressions in a few iwarp drivers from 5.4 patches
- A few regressions added in past kernels
- Squash a number of races in mlx5 ODP code
----------------------------------------------------------------
Adit Ranadive (1):
RDMA/vmw_pvrdma: Free SRQ only once
Bart Van Assche (1):
RDMA/iwcm: Fix a lock inversion issue
Christophe JAILLET (1):
RDMA/core: Fix an error handling path in 'res_get_common_doit()'
Greg KH (1):
RDMA/cxgb4: Do not dma memory off of the stack
Jack Morgenstein (1):
RDMA/cm: Fix memory leak in cm_add/remove_one
Jason Gunthorpe (6):
RDMA/mlx5: Do not allow rereg of a ODP MR
RDMA/mlx5: Fix a race with mlx5_ib_update_xlt on an implicit MR
RDMA/odp: Lift umem_mutex out of ib_umem_odp_unmap_dma_pages()
RDMA/mlx5: Order num_pending_prefetch properly with synchronize_srcu
RDMA/mlx5: Put live in the correct place for ODP MRs
RDMA/mlx5: Add missing synchronize_srcu() for MW cases
Krishnamraju Eraparaju (1):
RDMA/siw: Fix serialization issue in write_space()
Leon Romanovsky (1):
RDMA/nldev: Reshuffle the code to avoid need to rebind QP in error path
Michal Kalderon (1):
RDMA/core: Fix use after free and refcnt leak on ndev in_device in iwarp_query_port
Mohamad Heib (1):
IB/core: Fix wrong iterating on ports
Navid Emamdoost (1):
RDMA/hfi1: Prevent memory leak in sdma_init
Potnuri Bharat Teja (1):
RDMA/iw_cxgb4: fix SRQ access from dump_qp()
Shiraz, Saleem (1):
RDMA/i40iw: Associate ibdev to netdev before IB device registration
drivers/infiniband/core/cm.c | 3 ++
drivers/infiniband/core/cma.c | 3 +-
drivers/infiniband/core/device.c | 9 ++--
drivers/infiniband/core/nldev.c | 12 ++---
drivers/infiniband/core/security.c | 2 +-
drivers/infiniband/core/umem_odp.c | 6 ++-
drivers/infiniband/hw/cxgb4/device.c | 7 ++-
drivers/infiniband/hw/cxgb4/mem.c | 28 ++++++-----
drivers/infiniband/hw/cxgb4/qp.c | 10 +---
drivers/infiniband/hw/hfi1/sdma.c | 5 +-
drivers/infiniband/hw/i40iw/i40iw_verbs.c | 4 ++
drivers/infiniband/hw/mlx5/devx.c | 58 +++++++----------------
drivers/infiniband/hw/mlx5/mlx5_ib.h | 3 +-
drivers/infiniband/hw/mlx5/mr.c | 68 +++++++++++----------------
drivers/infiniband/hw/mlx5/odp.c | 58 ++++++++++++++++++-----
drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c | 2 -
drivers/infiniband/sw/siw/siw_qp.c | 15 ++++--
drivers/net/ethernet/mellanox/mlx5/core/mr.c | 8 +---
18 files changed, 154 insertions(+), 147 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-09-19 16:34 Jason Gunthorpe
2019-09-21 17:40 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2019-09-19 16:34 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 15062 bytes --]
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 #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-07-30 12:15 Jason Gunthorpe
2019-07-30 20:40 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2019-07-30 12:15 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
Hi Linus,
First rc pull request
The usual collection of driver bug fixes, and fewer siw static checker
warnings than I feared.
Thanks,
Jason
The following changes since commit 5f9e832c137075045d15cd6899ab0505cfb2ca4b:
Linus 5.3-rc1 (2019-07-21 14:05:38 -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 b7165bd0d6cbb93732559be6ea8774653b204480:
IB/mlx5: Fix RSS Toeplitz setup to be aligned with the HW specification (2019-07-25 11:45:48 -0300)
----------------------------------------------------------------
5.3 rc RDMA pull request
A few regression and bug fixes for the patches merged in the last cycle:
- hns fixes a subtle crash from the ib core SGL rework
- hfi1 fixes various error handling, oops and protocol errors
- bnxt_re fixes a regression where nvmeof doesn't work on some
configurations
- mlx5 fixes a serious 'use after free' bug in how MR caching is handled
- Some edge case crashers in the new statistic core code
- More siw static checker fixups
----------------------------------------------------------------
Chuhong Yuan (1):
IB/mlx5: Replace kfree with kvfree
John Fleck (1):
IB/hfi1: Check for error on call to alloc_rsm_map_table
Kaike Wan (3):
IB/hfi1: Unreserve a flushed OPFN request
IB/hfi1: Field not zero-ed when allocating TID flow memory
IB/hfi1: Drop all TID RDMA READ RESP packets after r_next_psn
Mao Wenan (1):
RDMA/siw: Remove set but not used variables 'rv'
Moni Shoua (1):
IB/mlx5: Prevent concurrent MR updates during invalidation
Parav Pandit (2):
IB/core: Fix querying total rdma stats
IB/counters: Always initialize the port counter object
Selvin Xavier (1):
RDMA/bnxt_re: Honor vlan_id in GID entry comparison
Wei Yongjun (1):
RDMA/siw: Fix error return code in siw_init_module()
Xi Wang (1):
RDMA/hns: Fix sg offset non-zero issue
Yishai Hadas (5):
IB/mlx5: Fix unreg_umr to ignore the mkey state
IB/mlx5: Use direct mkey destroy command upon UMR unreg failure
IB/mlx5: Move MRs to a kernel PD when freeing them to the MR cache
IB/mlx5: Fix clean_mr() to work in the expected order
IB/mlx5: Fix RSS Toeplitz setup to be aligned with the HW specification
drivers/infiniband/core/counters.c | 11 +++++---
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 7 +++--
drivers/infiniband/hw/bnxt_re/qplib_res.c | 13 +++++++---
drivers/infiniband/hw/bnxt_re/qplib_res.h | 2 +-
drivers/infiniband/hw/bnxt_re/qplib_sp.c | 14 ++++++----
drivers/infiniband/hw/bnxt_re/qplib_sp.h | 7 ++++-
drivers/infiniband/hw/hfi1/chip.c | 11 ++++++--
drivers/infiniband/hw/hfi1/rc.c | 2 --
drivers/infiniband/hw/hfi1/tid_rdma.c | 43 ++-----------------------------
drivers/infiniband/hw/hns/hns_roce_db.c | 15 ++++++-----
drivers/infiniband/hw/mlx5/mlx5_ib.h | 1 +
drivers/infiniband/hw/mlx5/mr.c | 23 ++++++++++-------
drivers/infiniband/hw/mlx5/odp.c | 7 ++---
drivers/infiniband/hw/mlx5/qp.c | 13 ++++++----
drivers/infiniband/sw/siw/siw_cm.c | 3 +--
drivers/infiniband/sw/siw/siw_main.c | 1 +
include/rdma/rdmavt_qp.h | 9 +++----
17 files changed, 89 insertions(+), 93 deletions(-)
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-07-15 15:26 Jason Gunthorpe
2019-07-16 4:35 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2019-07-15 15:26 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 29247 bytes --]
Hi Linus,
These are the proposed RDMA patches for 5.3
This has been a more exciting merge window than usual, the late merge of the
new siw driver, combined with the absence of the 0-Day testing service and the
July long weekend created a stream of build fixes for siw this week. I'm
hoping we got them all, but if there are more I will send them for rc1.
There is one non-textual conflict with an API change in netdev that will
require this patch in the merge commit to resolve:
diff --git a/drivers/infiniband/sw/siw/siw_cm.c b/drivers/infiniband/sw/siw/siw_cm.c
index 43f7f12e5f7f81..a7cde98e73e8c8 100644
--- a/drivers/infiniband/sw/siw/siw_cm.c
+++ b/drivers/infiniband/sw/siw/siw_cm.c
@@ -1963,6 +1963,7 @@ int siw_create_listen(struct iw_cm_id *id, int backlog)
if (id->local_addr.ss_family == AF_INET) {
struct in_device *in_dev = in_dev_get(dev);
struct sockaddr_in s_laddr, *s_raddr;
+ const struct in_ifaddr *ifa;
memcpy(&s_laddr, &id->local_addr, sizeof(s_laddr));
s_raddr = (struct sockaddr_in *)&id->remote_addr;
@@ -1973,8 +1974,7 @@ int siw_create_listen(struct iw_cm_id *id, int backlog)
&s_raddr->sin_addr, ntohs(s_raddr->sin_port));
rtnl_lock();
- for_ifa(in_dev)
- {
+ in_dev_for_each_ifa_rtnl(ifa, in_dev) {
if (ipv4_is_zeronet(s_laddr.sin_addr.s_addr) ||
s_laddr.sin_addr.s_addr == ifa->ifa_address) {
s_laddr.sin_addr.s_addr = ifa->ifa_address;
@@ -1986,7 +1986,6 @@ int siw_create_listen(struct iw_cm_id *id, int backlog)
listeners++;
}
}
- endfor_ifa(in_dev);
rtnl_unlock();
in_dev_put(in_dev);
} else if (id->local_addr.ss_family == AF_INET6) {
The tag for-linus-merged with my merge resolution to your tree is also available to pull.
The following changes since commit f8efee08dd9d41ab71010e9b16c9ead51753b7d6:
net/mlx5: Add rts2rts_qp_counters_set_id field in hca cap (2019-07-04 21:36:33 +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 0b043644c0ca601cb19943a81aa1f1455dbe9461:
RMDA/siw: Require a 64 bit arch (2019-07-12 12:12:06 -0300)
----------------------------------------------------------------
5.3 Merge window RDMA pull request
A smaller cycle this time. Notably we see another new driver, 'Soft
iWarp', and the deletion of an ancient unused driver for nes.
- Revise and simplify the signature offload RDMA MR APIs
- More progress on hoisting object allocation boiler plate code out of the
drivers
- Driver bug fixes and revisions for hns, hfi1, efa, cxgb4, qib, i40iw
- Tree wide cleanups: struct_size, put_user_page, xarray, rst doc conversion
- Removal of obsolete ib_ucm chardev and nes driver
- netlink based discovery of chardevs and autoloading of the modules
providing them
- Move more of the rdamvt/hfi1 uapi to include/uapi/rdma
- New driver 'siw' for software based iWarp running on top of netdev,
much like rxe's software RoCE.
- mlx5 feature to report events in their raw devx format to userspace
- Expose per-object counters through rdma tool
- Adaptive interrupt moderation for RDMA (DIM), sharing the DIM core
from netdev
----------------------------------------------------------------
Bart Van Assche (1):
RDMA/srp: Accept again source addresses that do not have a port number
Bernard Metzler (12):
rdma/siw: iWarp wire packet format
rdma/siw: main include file
rdma/siw: network and RDMA core interface
rdma/siw: connection management
rdma/siw: application interface
rdma/siw: application buffer management
rdma/siw: queue pair methods
rdma/siw: transmit path
rdma/siw: receive path
rdma/siw: completion queue methods
rdma/siw: addition to kernel build environment
RDMA/siw: Remove unnecessary kthread create/destroy printouts
Colin Ian King (4):
RDMA/hns: fix inverted logic of readl read and shift
RDMA/hns: fix potential integer overflow on left shift
RDMA/hns: fix spelling mistake "attatch" -> "attach"
RDMA/uverbs: remove redundant assignment to variable ret
Dag Moxnes (1):
RDMA/core: Fix race when resolving IP address
Dan Carpenter (2):
RDMA/uverbs: check for allocation failure in uapi_add_elm()
RDMA/hns: Fix an error code in hns_roce_set_user_sq_size()
Daniel Kranzdorf (1):
RDMA/efa: Entropy in admin commands id
Danit Goldberg (1):
IB/mlx5: Report correctly tag matching rendezvous capability
Dennis Dalessandro (2):
IB/hfi1: Remove extra brackets from an if
IB/hfi1: No need to use try_module_get for debugfs
Doug Ledford (3):
Merge remote-tracking branch 'mlx5-next/mlx5-next' into HEAD
RDMA/netlink: Resort policy array
RDMA/netlink: Audit policy settings for netlink attributes
Firas Jahjah (1):
RDMA/efa: Print address on AH creation failure
Fuqian Huang (3):
IB: Remove unneeded memset
IB/ipoib: Remove memset after vzalloc in ipoib_cm.c
IB/i40iw: Use kmemdup rather than open coding
Gal Pressman (6):
RDMA/efa: Use kvzalloc instead of kzalloc with fallback
RDMA/efa: Remove unneeded admin commands abort flow
RDMA/efa: Use rdma block iterator in chunk list creation
RDMA/efa: Remove unused includes
RDMA/efa: Use API to get contiguous memory blocks aligned to device supported page size
RDMA/efa: Be consistent with success flow return value
Geert Uytterhoeven (2):
IB/hfi1: Spelling s/statisfied/satisfied/
rdma/siw: Add missing dependencies on LIBCRC32C and DMA_VIRT_OPS
Gustavo A. R. Silva (5):
IB/rdmavt: Use struct_size() helper
IB/qib: Use struct_size() helper
IB/hfi1: Use struct_size() helper
RDMA/ucma: Use struct_size() helper
RDMA/siw: Mark expected switch fall-throughs
Israel Rukshin (15):
IB/iser: Refactor iscsi_iser_check_protection function
IB/iser: Remove unused sig_attrs argument
IB/isert: Remove unused sig_attrs argument
RDMA/rw: Fix doc typo
RDMA/rw: Print the correct number of sig MRs
RDMA/core: Fix doc typo
RDMA/core: Introduce IB_MR_TYPE_INTEGRITY and ib_alloc_mr_integrity API
IB/iser: Use IB_WR_REG_MR_INTEGRITY for PI handover
IB/iser: Unwind WR union at iser_tx_desc
RDMA/core: Add an integrity MR pool support
RDMA/core: Rename signature qp create flag and signature device capability
RDMA/rw: Introduce rdma_rw_inv_key helper
RDMA/rw: Use IB_WR_REG_MR_INTEGRITY for PI handover
RDMA/mlx5: Remove unused IB_WR_REG_SIG_MR code
RDMA/mlx5: Improve PI handover performance
Jason Gunthorpe (23):
RDMA/umem: Move page_shift from ib_umem to ib_odp_umem
rdma: Delete the ib_ucm module
RDMA: Move driver_id into struct ib_device_ops
RDMA: Move uverbs_abi_ver into struct ib_device_ops
RDMA: Move owner into struct ib_device_ops
rdma: Remove nes
RDMA: Move rdma_node_type to uapi/
RDMA: Add NLDEV_GET_CHARDEV to allow char dev discovery and autoload
RDMA: Report available cdevs through RDMA_NLDEV_CMD_GET_CHARDEV
RDMA/odp: Fix missed unlock in non-blocking invalidate_start
RDMA/uverbs: Use offsetofend instead of opencoding
RDMA/odp: Do not leak dma maps when working with huge pages
Merge tag 'v5.2-rc6' into rdma.git for-next
Merge branch 'siw' into rdma.git for-next
Merge mlx5-next into rdma for-next
Merge mlx5-next into rdma for-next
RDMA/siw: Fix DEFINE_PER_CPU compilation when ARCH_NEEDS_WEAK_PER_CPU
RDMA/rvt: Do not use a kernel header in the ABI
Merge branch 'vhca-tunnel' into rdma.git for-next
Merge tag 'blk-dim-v2' into rdma.git for-next
RDMA/core: Make rdma_counter.h compile stand alone
RDMA/siw: Add missing rtnl_lock around access to ifa
RMDA/siw: Require a 64 bit arch
John Hubbard (1):
RDMA: Convert put_page() to put_user_page*()
Kamal Heib (3):
RDMA/core: Return void from ib_device_check_mandatory()
RDMA/ipoib: implement ethtool .get_link() callback
RDMA/ipoib: Remove check for ETH_SS_TEST
Kamenee Arumugam (4):
IB/hfi1: Move rvt_cq_wc struct into uapi directory
IB/hfi1: Move receive work queue struct into uapi directory
IB/rdmavt: Fracture single lock used for posting and processing RWQEs
IB/{hfi1, qib, rdmavt}: Put qp in error state when cq is full
Konstantin Taranov (1):
RDMA/rxe: Fill in wc byte_len with IB_WC_RECV_RDMA_WITH_IMM
Lang Cheng (6):
RDMA/hns: Move spin_lock_irqsave to the correct place
RDMA/hns: Remove jiffies operation in disable interrupt context
RDMA/hns: reset function when removing module
RDMA/hns: Set reset flag when hw resetting
RDMA/hns: Use %pK format pointer print
RDMA/hns: Clean up unnecessary variable initialization
Leon Romanovsky (20):
rds: Don't check return value from destroy CQ
RDMA/ipoib: Remove check of destroy CQ
RDMA/core: Make ib_destroy_cq() void
RDMA/nes: Remove useless NULL checks
RDMA/i40iw: Remove useless NULL checks
RDMA/nes: Remove second wait queue initialization call
RDMA/efa: Remove check that prevents destroy of resources in error flows
RDMA/cxgb3: Use sizeof() notation instead of plain sizeof
RDMA/cxgb3: Don't expose DMA addresses
RDMA/cxgb3: Delete and properly mark unimplemented resize CQ function
RDMA/cxgb4: Use sizeof() notation
RDMA/cxgb4: Don't expose DMA addresses
RDMA/nes: Avoid memory allocation during CQ destroy
RDMA: Clean destroy CQ in drivers do not return errors
RDMA: Convert CQ allocations to be under core responsibility
RDMA: Convert destroy_wq to be void
RDMA: Check umem pointer validity prior to release
RDMa/hns: Don't stuck in endless timeout loop
RDMA/mlx5: Use proper allocation API to get zeroed memory
RDMA/mlx5: Set RDMA DIM to be enabled by default
Lijun Ou (11):
RDMA/hns: Update CQE specifications
RDMA/hns: Replace magic numbers with #defines
RDMA/hns: Bugfix for posting multiple srq work request
RDMA/hns: Bugfix for filling the sge of srq
RDMA/hns: Add mtr support for mixed multihop addressing
RDMA/hns: Add a group interfaces for optimizing buffers getting flow
RDMA/hns: Fix bug when wqe num is larger than 16K
RDMA/hns: Cleanup unnecessary exported symbols
RDMA/hns: Fix building modular hns
RDMA/hns: Bugfix for cleaning mtr
RDMA/hns: Bugfix for calculating qp buffer size
Liu, Changcheng (1):
RDMA/i40iw: Set queue pair state when being queried
Maksym Planeta (1):
ibverbs/rxe: Remove variable self-initialization
Maor Gottlieb (2):
RDMA/mlx5: Consider eswitch encap mode
RDMA/mlx5: Enable decap and packet reformat on FDB
Mark Zhang (16):
RDMA/restrack: Introduce statistic counter
RDMA/restrack: Add an API to attach a task to a resource
RDMA/restrack: Make is_visible_in_pid_ns() as an API
RDMA/counter: Add set/clear per-port auto mode support
RDMA/counter: Add "auto" configuration mode support
IB/mlx5: Support set qp counter
IB/mlx5: Add counter set id as a parameter for mlx5_ib_query_q_counters()
IB/mlx5: Support statistic q counter configuration
RDMA/nldev: Allow counter auto mode configration through RDMA netlink
RDMA/netlink: Implement counter dumpit calback
IB/mlx5: Add counter_alloc_stats() and counter_update_stats() support
RDMA/core: Get sum value of all counters when perform a sysfs stat read
RDMA/counter: Allow manual mode configuration support
RDMA/nldev: Allow counter manual mode configration through RDMA netlink
RDMA/nldev: Allow get counter mode through RDMA netlink
RDMA/nldev: Allow get default counter statistics through RDMA netlink
Matthew Wilcox (2):
ucma: Convert multicast_idr to XArray
ucma: Convert ctx_idr to XArray
Mauro Carvalho Chehab (2):
docs: infiniband: convert docs to ReST and rename to *.rst
docs: infiniband: add it to the driver-api bookset
Max Gurtovoy (15):
RDMA/rw: Add info regarding SG count failure
RDMA/core: Introduce new header file for signature operations
RDMA/core: Save the MR type in the ib_mr structure
RDMA/core: Introduce ib_map_mr_sg_pi to map data/protection sgl's
RDMA/core: Add signature attrs element for ib_mr structure
RDMA/mlx5: Implement mlx5_ib_map_mr_sg_pi and mlx5_ib_alloc_mr_integrity
RDMA/mlx5: Add attr for max number page list length for PI operation
RDMA/mlx5: Pass UMR segment flags instead of boolean
RDMA/mlx5: Update set_sig_data_segment attribute for new signature API
RDMA/mlx5: Introduce and implement new IB_WR_REG_MR_INTEGRITY work request
RDMA/core: Validate integrity handover device cap
RDMA/mlx5: Use PA mapping for PI handover
RDMA/mlx5: Refactor MR descriptors allocation
net/mlx5: Introduce VHCA tunnel device capability
IB/mlx5: Implement VHCA tunnel mechanism in DEVX
Michael J. Ruhl (4):
IB/rdmavt: Set QP allowed opcodes after QP allocation
IB/{rdmavt, hfi1, qib}: Remove AH refcount for UD QPs
IB/{rdmavt, hfi1, qib}: Add helpers to hide SWQE WR details
IB/hfi1: Reduce excessive aspm inlines
Mike Marciniszyn (5):
IB/rdmavt: Add new completion inline
IB/{rdmavt, qib, hfi1}: Convert to new completion API
IB/hfi1: Add missing INVALIDATE opcodes for trace
IB/rdmavt: Enhance trace information for FRWR debug
IB/rdmavt: Add trace for map_mr_sg
Nathan Chancellor (2):
IB/rdmavt: Fix variable shadowing issue in rvt_create_cq
rdma/siw: Use proper enumerated type in map_cqe_status
Nirranjan Kirubaharan (1):
iw_cxgb4: Fix qpid leak
Parav Pandit (2):
IB/mlx5: Fixed reporting counters on 2nd port for Dual port RoCE
IB/core: Work on the caller socket net namespace in nldev_newlink()
Qian Cai (1):
RDMA/core: Fix -Wunused-const-variable warnings
Sagiv Ozeri (1):
RDMA/qedr: Fix incorrect device rate.
Valentine Fatiev (1):
IB/ipoib: Add child to parent list only if device initialized
Xi Wang (1):
RDMA/hns: Fixs hw access invalid dma memory error
Yamin Friedman (3):
linux/dim: Implement RDMA adaptive moderation (DIM)
RDMA/core: Provide RDMA DIM support for ULPs
RDMA/nldev: Added configuration of RDMA dynamic interrupt moderation to netlink
Yangyang Li (1):
RDMA/hns: Modify ba page size for cqe
Yishai Hadas (6):
IB/mlx5: Introduce MLX5_IB_OBJECT_DEVX_ASYNC_EVENT_FD
IB/mlx5: Register DEVX with mlx5_core to get async events
IB/mlx5: Enable subscription for device events over DEVX
IB/mlx5: Implement DEVX dispatching event
IB/mlx5: Add DEVX support for CQ events
IB/mlx5: DEVX cleanup mdev
Yixian Liu (1):
RDMA/hns: Remove unnecessary print message in aeq
YueHaibing (3):
IB/hfi1: Remove set but not used variables 'offset' and 'fspsn'
RDMA/hns: Remove set but not used variable 'fclr_write_fail_flag'
rdma/siw: Remove set but not used variable 's'
Yuval Shaia (1):
IB/mlx4: Delete unused func arg
chenglang (1):
RDMA/hns: Fixup qp release bug
Documentation/ABI/stable/sysfs-class-infiniband | 17 -
Documentation/index.rst | 1 +
.../{core_locking.txt => core_locking.rst} | 64 +-
Documentation/infiniband/index.rst | 23 +
Documentation/infiniband/{ipoib.txt => ipoib.rst} | 24 +-
.../infiniband/{opa_vnic.txt => opa_vnic.rst} | 110 +-
Documentation/infiniband/{sysfs.txt => sysfs.rst} | 4 +-
.../{tag_matching.txt => tag_matching.rst} | 5 +
.../infiniband/{user_mad.txt => user_mad.rst} | 33 +-
.../infiniband/{user_verbs.txt => user_verbs.rst} | 12 +-
MAINTAINERS | 15 +-
drivers/infiniband/Kconfig | 14 +-
drivers/infiniband/core/Makefile | 5 +-
drivers/infiniband/core/addr.c | 2 +-
drivers/infiniband/core/core_priv.h | 10 +
drivers/infiniband/core/counters.c | 634 ++++
drivers/infiniband/core/cq.c | 95 +-
drivers/infiniband/core/device.c | 150 +-
drivers/infiniband/core/mr_pool.c | 8 +-
drivers/infiniband/core/nldev.c | 800 +++-
drivers/infiniband/core/restrack.c | 49 +-
drivers/infiniband/core/restrack.h | 3 +
drivers/infiniband/core/rw.c | 201 +-
drivers/infiniband/core/sysfs.c | 16 +-
drivers/infiniband/core/ucm.c | 1350 -------
drivers/infiniband/core/ucma.c | 114 +-
drivers/infiniband/core/umem.c | 13 +-
drivers/infiniband/core/umem_odp.c | 106 +-
drivers/infiniband/core/user_mad.c | 53 +-
drivers/infiniband/core/uverbs_cmd.c | 28 +-
drivers/infiniband/core/uverbs_main.c | 40 +-
drivers/infiniband/core/uverbs_std_types_cq.c | 19 +-
drivers/infiniband/core/uverbs_std_types_mr.c | 1 +
drivers/infiniband/core/uverbs_uapi.c | 4 +-
drivers/infiniband/core/verbs.c | 165 +-
drivers/infiniband/hw/Makefile | 1 -
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 66 +-
drivers/infiniband/hw/bnxt_re/ib_verbs.h | 9 +-
drivers/infiniband/hw/bnxt_re/main.c | 8 +-
drivers/infiniband/hw/cxgb3/cxio_hal.c | 33 +-
drivers/infiniband/hw/cxgb3/cxio_hal.h | 3 +-
drivers/infiniband/hw/cxgb3/iwch_cm.c | 2 +-
drivers/infiniband/hw/cxgb3/iwch_provider.c | 160 +-
drivers/infiniband/hw/cxgb4/cm.c | 21 +-
drivers/infiniband/hw/cxgb4/cq.c | 55 +-
drivers/infiniband/hw/cxgb4/device.c | 9 +-
drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 11 +-
drivers/infiniband/hw/cxgb4/mem.c | 8 +-
drivers/infiniband/hw/cxgb4/provider.c | 9 +-
drivers/infiniband/hw/cxgb4/qp.c | 95 +-
drivers/infiniband/hw/cxgb4/resource.c | 16 +-
drivers/infiniband/hw/efa/efa.h | 9 +-
drivers/infiniband/hw/efa/efa_com.c | 118 +-
drivers/infiniband/hw/efa/efa_com.h | 1 -
drivers/infiniband/hw/efa/efa_com_cmd.c | 8 +-
drivers/infiniband/hw/efa/efa_main.c | 10 +-
drivers/infiniband/hw/efa/efa_verbs.c | 248 +-
drivers/infiniband/hw/hfi1/Makefile | 1 +
drivers/infiniband/hw/hfi1/aspm.c | 270 ++
drivers/infiniband/hw/hfi1/aspm.h | 262 +-
drivers/infiniband/hw/hfi1/debugfs.c | 5 +-
drivers/infiniband/hw/hfi1/mad.c | 9 +-
drivers/infiniband/hw/hfi1/pcie.c | 6 +-
drivers/infiniband/hw/hfi1/pio.c | 3 +-
drivers/infiniband/hw/hfi1/qp.c | 8 +-
drivers/infiniband/hw/hfi1/rc.c | 29 +-
drivers/infiniband/hw/hfi1/tid_rdma.c | 7 +-
drivers/infiniband/hw/hfi1/trace_ibhdrs.h | 2 +
drivers/infiniband/hw/hfi1/uc.c | 3 +-
drivers/infiniband/hw/hfi1/ud.c | 36 +-
drivers/infiniband/hw/hfi1/user_pages.c | 11 +-
drivers/infiniband/hw/hfi1/verbs.c | 6 +-
drivers/infiniband/hw/hns/Kconfig | 15 +-
drivers/infiniband/hw/hns/Makefile | 15 +-
drivers/infiniband/hw/hns/hns_roce_alloc.c | 101 +-
drivers/infiniband/hw/hns/hns_roce_cmd.c | 6 +-
drivers/infiniband/hw/hns/hns_roce_cq.c | 81 +-
drivers/infiniband/hw/hns/hns_roce_db.c | 12 +-
drivers/infiniband/hw/hns/hns_roce_device.h | 108 +-
drivers/infiniband/hw/hns/hns_roce_hem.c | 504 ++-
drivers/infiniband/hw/hns/hns_roce_hem.h | 16 +-
drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 79 +-
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 280 +-
drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 23 +-
drivers/infiniband/hw/hns/hns_roce_main.c | 31 +-
drivers/infiniband/hw/hns/hns_roce_mr.c | 166 +-
drivers/infiniband/hw/hns/hns_roce_pd.c | 4 +-
drivers/infiniband/hw/hns/hns_roce_qp.c | 220 +-
drivers/infiniband/hw/hns/hns_roce_srq.c | 40 +-
drivers/infiniband/hw/i40iw/i40iw_cm.c | 4 +-
drivers/infiniband/hw/i40iw/i40iw_verbs.c | 56 +-
drivers/infiniband/hw/mlx4/cq.c | 43 +-
drivers/infiniband/hw/mlx4/main.c | 21 +-
drivers/infiniband/hw/mlx4/mlx4_ib.h | 9 +-
drivers/infiniband/hw/mlx4/mr.c | 16 +-
drivers/infiniband/hw/mlx4/qp.c | 11 +-
drivers/infiniband/hw/mlx4/srq.c | 9 +-
drivers/infiniband/hw/mlx5/cq.c | 56 +-
drivers/infiniband/hw/mlx5/devx.c | 1053 +++++-
drivers/infiniband/hw/mlx5/mad.c | 60 +-
drivers/infiniband/hw/mlx5/main.c | 157 +-
drivers/infiniband/hw/mlx5/mem.c | 20 +-
drivers/infiniband/hw/mlx5/mlx5_ib.h | 47 +-
drivers/infiniband/hw/mlx5/mr.c | 554 ++-
drivers/infiniband/hw/mlx5/odp.c | 23 +-
drivers/infiniband/hw/mlx5/qp.c | 312 +-
drivers/infiniband/hw/mthca/mthca_allocator.c | 2 -
drivers/infiniband/hw/mthca/mthca_memfree.c | 6 +-
drivers/infiniband/hw/mthca/mthca_provider.c | 52 +-
drivers/infiniband/hw/nes/Kconfig | 16 -
drivers/infiniband/hw/nes/Makefile | 4 -
drivers/infiniband/hw/nes/nes.c | 1211 ------
drivers/infiniband/hw/nes/nes.h | 574 ---
drivers/infiniband/hw/nes/nes_cm.c | 3992 --------------------
drivers/infiniband/hw/nes/nes_cm.h | 470 ---
drivers/infiniband/hw/nes/nes_context.h | 193 -
drivers/infiniband/hw/nes/nes_hw.c | 3887 -------------------
drivers/infiniband/hw/nes/nes_hw.h | 1380 -------
drivers/infiniband/hw/nes/nes_mgt.c | 1155 ------
drivers/infiniband/hw/nes/nes_mgt.h | 97 -
drivers/infiniband/hw/nes/nes_nic.c | 1870 ---------
drivers/infiniband/hw/nes/nes_utils.c | 916 -----
drivers/infiniband/hw/nes/nes_verbs.c | 3759 ------------------
drivers/infiniband/hw/nes/nes_verbs.h | 198 -
drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 11 +-
drivers/infiniband/hw/ocrdma/ocrdma_hw.h | 2 +-
drivers/infiniband/hw/ocrdma/ocrdma_main.c | 8 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 38 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.h | 7 +-
drivers/infiniband/hw/qedr/main.c | 8 +-
drivers/infiniband/hw/qedr/verbs.c | 82 +-
drivers/infiniband/hw/qedr/verbs.h | 7 +-
drivers/infiniband/hw/qib/qib_qp.c | 4 +-
drivers/infiniband/hw/qib/qib_rc.c | 29 +-
drivers/infiniband/hw/qib/qib_uc.c | 3 +-
drivers/infiniband/hw/qib/qib_ud.c | 28 +-
drivers/infiniband/hw/qib/qib_user_pages.c | 11 +-
drivers/infiniband/hw/qib/qib_user_sdma.c | 11 +-
drivers/infiniband/hw/qib/qib_verbs.c | 6 +-
drivers/infiniband/hw/usnic/usnic_ib.h | 4 +
drivers/infiniband/hw/usnic/usnic_ib_main.c | 8 +-
drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 22 +-
drivers/infiniband/hw/usnic/usnic_ib_verbs.h | 7 +-
drivers/infiniband/hw/usnic/usnic_uiom.c | 7 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma.h | 2 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 46 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 8 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c | 3 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 16 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 7 +-
drivers/infiniband/sw/Makefile | 1 +
drivers/infiniband/sw/rdmavt/ah.c | 6 +-
drivers/infiniband/sw/rdmavt/cq.c | 250 +-
drivers/infiniband/sw/rdmavt/cq.h | 7 +-
drivers/infiniband/sw/rdmavt/mr.c | 6 +-
drivers/infiniband/sw/rdmavt/qp.c | 402 +-
drivers/infiniband/sw/rdmavt/qp.h | 2 +
drivers/infiniband/sw/rdmavt/rc.c | 41 +-
drivers/infiniband/sw/rdmavt/srq.c | 69 +-
drivers/infiniband/sw/rdmavt/trace_mr.h | 56 +-
drivers/infiniband/sw/rdmavt/vt.c | 7 +-
drivers/infiniband/sw/rdmavt/vt.h | 9 +
drivers/infiniband/sw/rxe/rxe_comp.c | 2 +-
drivers/infiniband/sw/rxe/rxe_mr.c | 3 +-
drivers/infiniband/sw/rxe/rxe_pool.c | 1 +
drivers/infiniband/sw/rxe/rxe_resp.c | 5 +-
drivers/infiniband/sw/rxe/rxe_verbs.c | 40 +-
drivers/infiniband/sw/rxe/rxe_verbs.h | 3 +-
drivers/infiniband/sw/siw/Kconfig | 18 +
drivers/infiniband/sw/siw/Makefile | 11 +
drivers/infiniband/sw/siw/iwarp.h | 380 ++
drivers/infiniband/sw/siw/siw.h | 745 ++++
drivers/infiniband/sw/siw/siw_cm.c | 2070 ++++++++++
drivers/infiniband/sw/siw/siw_cm.h | 133 +
drivers/infiniband/sw/siw/siw_cq.c | 101 +
drivers/infiniband/sw/siw/siw_main.c | 685 ++++
drivers/infiniband/sw/siw/siw_mem.c | 460 +++
drivers/infiniband/sw/siw/siw_mem.h | 74 +
drivers/infiniband/sw/siw/siw_qp.c | 1322 +++++++
drivers/infiniband/sw/siw/siw_qp_rx.c | 1458 +++++++
drivers/infiniband/sw/siw/siw_qp_tx.c | 1269 +++++++
drivers/infiniband/sw/siw/siw_verbs.c | 1760 +++++++++
drivers/infiniband/sw/siw/siw_verbs.h | 91 +
drivers/infiniband/ulp/ipoib/Kconfig | 2 +-
drivers/infiniband/ulp/ipoib/ipoib_cm.c | 1 -
drivers/infiniband/ulp/ipoib/ipoib_ethtool.c | 3 +-
drivers/infiniband/ulp/ipoib/ipoib_main.c | 34 +-
drivers/infiniband/ulp/ipoib/ipoib_verbs.c | 7 +-
drivers/infiniband/ulp/iser/iscsi_iser.c | 12 +-
drivers/infiniband/ulp/iser/iscsi_iser.h | 64 +-
drivers/infiniband/ulp/iser/iser_initiator.c | 12 +-
drivers/infiniband/ulp/iser/iser_memory.c | 121 +-
drivers/infiniband/ulp/iser/iser_verbs.c | 156 +-
drivers/infiniband/ulp/isert/ib_isert.c | 19 +-
drivers/infiniband/ulp/srp/ib_srp.c | 21 +-
drivers/nvme/host/rdma.c | 2 +-
include/linux/dim.h | 23 +
include/linux/mlx5/mlx5_ifc.h | 6 +-
include/linux/mlx5/qp.h | 4 +-
include/rdma/ib_umem.h | 19 +-
include/rdma/ib_umem_odp.h | 20 +
include/rdma/ib_verbs.h | 247 +-
include/rdma/mr_pool.h | 2 +-
include/rdma/rdma_counter.h | 65 +
include/rdma/rdma_netlink.h | 8 +
include/rdma/rdma_vt.h | 5 +-
include/rdma/rdmavt_cq.h | 25 +-
include/rdma/rdmavt_qp.h | 312 +-
include/rdma/restrack.h | 9 +-
include/rdma/rw.h | 9 -
include/rdma/signature.h | 122 +
include/uapi/rdma/ib_user_cm.h | 326 --
include/uapi/rdma/mlx5_user_ioctl_cmds.h | 19 +
include/uapi/rdma/mlx5_user_ioctl_verbs.h | 9 +
include/uapi/rdma/rdma_netlink.h | 86 +-
include/uapi/rdma/rdma_user_ioctl_cmds.h | 1 +
include/uapi/rdma/rvt-abi.h | 66 +
include/uapi/rdma/siw-abi.h | 185 +
lib/dim/Makefile | 6 +-
lib/dim/rdma_dim.c | 108 +
net/rds/ib_cm.c | 8 +-
221 files changed, 18855 insertions(+), 24841 deletions(-)
(diffstat from tag for-linus-merged)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-06-06 20:14 Jason Gunthorpe
2019-06-07 16:45 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2019-06-06 20:14 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 2980 bytes --]
Hi Linus,
Things are looking pretty quiet here in RDMA, not too many bug fixes rolling
in right now. Here is the first batch of proposed rc fixes.
Thanks,
Jason
The following changes since commit a188339ca5a396acc588e5851ed7e19f66b0ebd9:
Linux 5.2-rc1 (2019-05-19 15:47:09 -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 4f240dfec6bcc852b124ea7c419fb590949fbd4c:
RDMA/efa: Remove MAYEXEC flag check from mmap flow (2019-05-29 13:13:03 -0300)
----------------------------------------------------------------
5.2 First rc pull request
The usual driver bug fixes and fixes for a couple of regressions introduced in
5.2:
- Fix a race on bootup with RDMA device renaming and srp. SRP also needs to
rename its internal sys files
- Fix a memory leak in hns
- Don't leak resources in efa on certain error unwinds
- Don't panic in certain error unwinds in ib_register_device
- Various small user visible bug fix patches for the hfi and efa drivers
- Fix the 32 bit compilation break
----------------------------------------------------------------
Gal Pressman (2):
RDMA/uverbs: Pass udata on uverbs error unwind
RDMA/efa: Remove MAYEXEC flag check from mmap flow
Jason Gunthorpe (1):
RDMA/core: Clear out the udata before error unwind
Kamal Heib (1):
RDMA/core: Fix panic when port_data isn't initialized
Kamenee Arumugam (1):
IB/hfi1: Validate page aligned for a given virtual address
Leon Romanovsky (2):
RDMA/srp: Rename SRP sysfs name after IB device rename trigger
RDMA/hns: Fix PD memory leak for internal allocation
Michal Kubecek (1):
mlx5: avoid 64-bit division
Mike Marciniszyn (3):
IB/rdmavt: Fix alloc_qpn() WARN_ON()
IB/hfi1: Insure freeze_work work_struct is canceled on shutdown
IB/{qib, hfi1, rdmavt}: Correct ibv_devinfo max_mr value
drivers/infiniband/core/device.c | 49 +++++++++++++++++++--------
drivers/infiniband/core/rdma_core.h | 2 ++
drivers/infiniband/core/uverbs_cmd.c | 30 +++++++++++-----
drivers/infiniband/core/uverbs_std_types_cq.c | 2 +-
drivers/infiniband/core/uverbs_std_types_mr.c | 2 +-
drivers/infiniband/hw/efa/efa_verbs.c | 1 -
drivers/infiniband/hw/hfi1/chip.c | 1 +
drivers/infiniband/hw/hfi1/user_exp_rcv.c | 3 ++
drivers/infiniband/hw/hfi1/verbs.c | 2 --
drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 1 +
drivers/infiniband/hw/mlx5/cmd.c | 9 +++--
drivers/infiniband/hw/mlx5/main.c | 2 +-
drivers/infiniband/hw/qib/qib_verbs.c | 2 --
drivers/infiniband/sw/rdmavt/mr.c | 2 ++
drivers/infiniband/sw/rdmavt/qp.c | 3 +-
drivers/infiniband/ulp/srp/ib_srp.c | 18 +++++++++-
include/rdma/ib_verbs.h | 1 +
17 files changed, 95 insertions(+), 35 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-05-15 0:46 Jason Gunthorpe
2019-05-15 4:05 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2019-05-15 0:46 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1991 bytes --]
Hi Linus,
These are the 2nd proposed RDMA patches for 5.2.
As requested the main reason to send this is to fix the gcc 9.1
warnings that many people may hit now that FC30 is out.
Thanks,
Jason
The following changes since commit b79656ed44c6865e17bcd93472ec39488bcc4984:
RDMA/ipoib: Allow user space differentiate between valid dev_port (2019-05-07 16:13:23 -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 c191f93454bcc92810b9c8cdb895a452a57948c2:
net/mlx5: Set completion EQs as shared resources (2019-05-14 10:22:09 -0300)
----------------------------------------------------------------
5.2 Merge Window second pull request
This is being sent to get a fix for the gcc 9.1 build warnings, and I've
also pulled in some bug fix patches that were posted in the last two
weeks.
- Avoid the gcc 9.1 warning about overflowing a union member
- Fix the wrong callback type for a single response netlink to doit
- Bug fixes from more usage of the mlx5 devx interface
----------------------------------------------------------------
Jason Gunthorpe (1):
RDMA: Directly cast the sockaddr union to sockaddr
Parav Pandit (1):
RDMA/core: Change system parameters callback from dumpit to doit
Yishai Hadas (2):
IB/mlx5: Verify DEVX general object type correctly
net/mlx5: Set completion EQs as shared resources
drivers/infiniband/core/addr.c | 16 ++++++++--------
drivers/infiniband/core/nldev.c | 27 +++++++++++++++------------
drivers/infiniband/hw/mlx5/devx.c | 13 ++++++++++---
drivers/infiniband/hw/ocrdma/ocrdma_ah.c | 5 ++---
drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 5 ++---
drivers/net/ethernet/mellanox/mlx5/core/eq.c | 3 +++
include/linux/mlx5/mlx5_ifc.h | 2 +-
include/uapi/rdma/rdma_netlink.h | 2 +-
8 files changed, 42 insertions(+), 31 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-05-09 13:37 Jason Gunthorpe
2019-05-09 16:25 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2019-05-09 13:37 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 30454 bytes --]
Hi Linus,
These are the proposed RDMA patches for 5.2.
There is a small conflict with the mlx5-next (net-next) tree resolved with
this hunk:
diff --cc drivers/infiniband/hw/mlx5/main.c
index 687f99172037be,fae6a6a1fbea12..abac70ad5c7c46
--- a/drivers/infiniband/hw/mlx5/main.c
+++ b/drivers/infiniband/hw/mlx5/main.c
@@@ -200,12 -172,18 +200,12 @@@ static int mlx5_netdev_event(struct not
switch (event) {
case NETDEV_REGISTER:
+ /* Should already be registered during the load */
+ if (ibdev->is_rep)
+ break;
write_lock(&roce->netdev_lock);
- if (ndev->dev.parent == &mdev->pdev->dev)
- if (ibdev->rep) {
- struct mlx5_eswitch *esw = ibdev->mdev->priv.eswitch;
- struct net_device *rep_ndev;
-
- rep_ndev = mlx5_ib_get_rep_netdev(esw,
- ibdev->rep->vport);
- if (rep_ndev == ndev)
- roce->netdev = ndev;
- } else if (ndev->dev.parent == mdev->device) {
++ if (ndev->dev.parent == mdev->device)
roce->netdev = ndev;
- }
write_unlock(&roce->netdev_lock);
break;
I also have some notifications from StephenR about minor conflicts with
patches in akpm's tree that you haven't merged yet. Here are his resolutions:
https://lore.kernel.org/lkml/20190509153805.6dfbb8ef@canb.auug.org.au/
https://lore.kernel.org/lkml/20190506204824.11a7b368@canb.auug.org.au/
https://lore.kernel.org/lkml/20190506203710.10b080dc@canb.auug.org.au/
The tag for-linus-merged with my merge resolution for the mlx5-next
branch is also available to pull.
The following changes since commit 96780e4f46b2fc0fc5ae2b95957002e2c42b11d3:
net/mlx5: Introduce new TIR creation core API (2019-04-24 12:33:37 -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 b79656ed44c6865e17bcd93472ec39488bcc4984:
RDMA/ipoib: Allow user space differentiate between valid dev_port (2019-05-07 16:13:23 -0300)
----------------------------------------------------------------
5.2 Merge Window pull request
This has been a smaller cycle than normal. One new driver was accepted,
which is unusual, and at least one more driver remains in review on the
list.
- Driver fixes for hns, hfi1, nes, rxe, i40iw, mlx5, cxgb4, vmw_pvrdma
- Many patches from MatthewW converting radix tree and IDR users to use
xarray
- Introduction of tracepoints to the MAD layer
- Build large SGLs at the start for DMA mapping and get the driver to
split them
- Generally clean SGL handling code throughout the subsystem
- Support for restricting RDMA devices to net namespaces for containers
- Progress to remove object allocation boilerplate code from drivers
- Change in how the mlx5 driver shows representor ports linked to VFs
- mlx5 uapi feature to access the on chip SW ICM memory
- Add a new driver for 'EFA'. This is HW that supports user space packet
processing through QPs in Amazon's cloud
----------------------------------------------------------------
Ariel Levkovich (5):
IB/mlx5: Expose TIR ICM address to user space
IB/mlx5: Support device memory type attribute
IB/mlx5: Warn on allocated MEMIC buffers during cleanup
IB/mlx5: Add steering SW ICM device memory type
IB/mlx5: Device resource control for privileged DEVX user
Artemy Kovalyov (3):
IB/mlx5: WQE dump jumps over first 16 bytes
IB/mlx5: Compare only index part of a memory window rkey
IB/core: Set qp->real_qp before it may be accessed
Bart Van Assche (6):
RDMA/uverbs: Add a __user annotation to a pointer
RDMA/uverbs: Annotate uverbs_request_next_ptr() return value as a __user pointer
RDMA/uverbs: Allow the compiler to verify declaration and definition consistency
IB/mlx5: Declare devx_async_cmd_event_fops static
IB/hfi1: Fix two format strings
IB/qib: Remove a set-but-not-used variable
Chengguang Xu (1):
infiniband/qib: Fix typo in comment
Colin Ian King (6):
RDMA/nes: remove redundant check on udata
IB/iser: remove uninitialized variable len
opa_vnic: fix check on record->event, incorrect operator used
RDMA/mlx5: Check for error return in flow_rule rather than err
RDMA/cxgb4: Fix null pointer dereference on alloc_skb failure
RDMA/cxgb4: Fix spelling mistake "immedate" -> "immediate"
Dennis Dalessandro (1):
IB/core, ipoib: Do not overreact to SM LID change event
Devesh Sharma (1):
RDMA/ocrdma: Remove use of idr use pci bdf instead
Enrico Weigelt, metux IT consult (1):
drivers: infiniband: Fix whitespace in kconfig
Erez Alfasi (1):
RDMA: Use __packed annotation instead of __attribute__ ((packed))
Gal Pressman (14):
RDMA/core: Introduce RDMA subsystem ibdev_* print functions
RDMA/uverbs: Initialize udata struct on destroy flows
RDMA: Add EFA related definitions
RDMA/efa: Add EFA device definitions
RDMA/efa: Add the efa.h header file
RDMA/efa: Add the efa_com.h file
RDMA/efa: Add the com service API definitions
RDMA/efa: Add the ABI definitions
RDMA/efa: Implement functions that submit and complete admin commands
RDMA/efa: Add common command handlers
RDMA/efa: Add EFA verbs implementation
RDMA/efa: Add the efa module
RDMA/efa: Add driver to Kconfig/Makefile
lib/scatterlist: Remove leftover from sg_page_iter comment
Ira Weiny (7):
IB/core: Ensure an invalidate_range callback on ODP MR
IB/MAD: Add send path trace points
IB/MAD: Add recv path trace point
IB/MAD: Add agent trace points
IB/UMAD: Add umad trace points
IB/MAD: Add SMP details to MAD tracing
BPF: Add sample code for new ib_umad tracepoint
Jack Morgenstein (1):
IB/mlx5: Add missing XRC options to QP optional params mask
Jason Gunthorpe (9):
Merge HFI1 updates into k.o/for-next
IB/mlx5: Remove references to uboject->context
IB: When attrs.udata/ufile is available use that instead of uobject
RDMA/drivers: Convert easy drivers to use ib_device_set_netdev()
Merge branch 'mlx5-next' into rdma.git for-next
RDMA/mlx5: Use get_zeroed_page() for clock_info
RDMA: Remove rdma_user_mmap_page
Merge branch 'rdma_mmap' into rdma.git for-next
Merge branch 'mlx5_tir_icm' into rdma.git for-next
John Fleck (1):
IB/hfi1: Remove reference to RHF.VCRCErr
Josh Collier (1):
IB/hfi1: Add debugfs to control expansion ROM write protect
Kaike Wan (6):
IB/hfi1: Delay the release of destination mr for TID RDMA WRITE DATA
IB/hfi1: Add a function to read next expected psn from hardware flow
IB/hfi1: Unify the software PSN check for TID RDMA READ/WRITE
IB/hfi1: Remove WARN_ON when freeing expected receive groups
IB/hfi1: Implement CCA for TID RDMA protocol
IB/{rdmavt, hfi1): Miscellaneous comment fixes
Kamal Heib (1):
RDMA: Get rid of iw_cm_verbs
Kangjie Lu (1):
RDMA/i40iw: Handle workqueue allocation failure
Leon Romanovsky (19):
RDMA/rxe: Fix slab-out-bounds access which lead to kernel crash later
overflow: Fix -Wtype-limits compilation warnings
RDMA/hns: Limit scope of hns_roce_cmq_send()
RDMA/netlink: Remove unused data structure
RDMA/core: Don't compare specific bit after boolean AND
RDMA/hns: Fix bad endianess of port_pd variable
RDMA/cma: Set proper port number as index
RDMA/mlx5: Cleanup WQE page fault handler
RDMA/cm: Remove useless zeroing of static global variable
RDMA/cm: Move debug counters to be under relevant IB device
RDMA/nldev: Return device protocol
RDMA/core: Support object allocation in atomic context
RDMA: Handle AH allocations by IB/core
RDMA: Handle SRQ allocations by IB/core
RDMA/hns: Remove asynchronic QP destroy
RDMA/rdmavt: Catch use-after-free access of AH structures
RDMA/mlx5: Remove MAYEXEC flag
RDMA/device: Don't fire uevent before device is fully initialized
RDMA/ipoib: Allow user space differentiate between valid dev_port
Lijun Ou (8):
RDMA/hns: Only assign the relatived fields of psn if IB_QP_SQ_PSN is set
RDMA/hns: Only assign the fields of the rq psn if IB_QP_RQ_PSN is set
RDMA/hns: Update the range of raq_psn field of qp context
RDMA/hns: Only assgin some fields if the relatived attr_mask is set
RDMA/hns: Hide error print information with roce vf device
RDMA/hns: Bugfix for sending with invalidate
RDMA/hns: Delete unused variable in hns_roce_v2_modify_qp function
RDMA/hns: Dump detailed driver-specific CQ
Maor Gottlieb (1):
RDMA/mlx5: Add query e-switch vport context to devx white list
Mark Bloch (16):
RDMA/mlx5: Move netdev info into the port struct
RDMA/mlx5: Free IB device on remove
RDMA/mlx5: Move ports allocation to outside of INIT stage
RDMA/mlx5: Use correct size for device resources
RDMA/mlx5: Move rep into port struct
RDMA/mlx5: Move default representors SQ steering to rule to modify QP
RDMA/mlx5: Refactor netdev affinity code
RDMA/mlx5: Move SMI caps logic
RDMA/mlx5: Move to single device multiport ports in switchdev mode
RDMA/mlx5: Remove VF representor profile
RDMA/mlx5: Access the prio bypass inside the FDB flow table namespace
RDMA/mlx5: Create flow table with max size supported
RDMA/mlx5: Allow inserting a steering rule to the FDB
RDMA/mlx5: Allow DEVX and raw creation flow on reps
RDMA/mlx5: Initialize roce port info before multiport master init
RDMA/mlx5: Don't create IB representors when in multiport RoCE mode
Matthew Wilcox (26):
cxgb3: Convert cqidr to XArray
cxgb3: Convert qpidr to XArray
cxgb3: Convert mmidr to XArray
cxgb4: Convert cqidr to XArray
cxgb4: Convert qpidr to XArray
cxgb4: Convert mmidr to XArray
cxgb4: Convert hwtid_idr to XArray
cxgb4: Convert atid_idr to XArray
cxgb4: Convert stid_idr to XArray
mlx5: Convert mlx5_srq_table to XArray
mlx4: Convert pv_id_table to XArray
IB/mad: Convert ib_mad_clients to XArray
RDMA/cm: Convert local_id_table to XArray
ib core: Convert query_idr to XArray
ucm: Convert ctx_id_table to XArray
cma: Convert portspace IDRs to XArray
RDMA/hns: Convert cq_table to XArray
RDMA/hns: Convert qp_table_tree to XArray
hfi1: Convert vesw_idr to XArray
qedr: Convert qpidr to XArray
qedr: Convert srqidr to XArray
hfi1: Convert hfi1_unit_table to XArray
qib: Convert qib_unit_table to XArray
opa_vnic: Convert vport_idr to XArray
ib/bnxt: Remove mention of idr_alloc from comment
uverbs: Convert idr to XArray
Mike Marciniszyn (7):
IB/hfi1: Add running average for adaptive pio
IB/hfi1: Make opfn.h self sufficient
IB/rdmavt: Fix ab/ba include issues
IB/rdmavt: Use more efficient allowed_ops
IB/{rdmavt, qib, hfi1}: Use new routine to release reference counts
IB/hfi1: Add selected Rcv counters
IB/hfi1: Fix WQ_MEM_RECLAIM warning
Parav Pandit (22):
RDMA/core: Introduce ib_core_device to hold device
RDMA/core: Restrict sysfs entries view to init_net
RDMA/core: Implement compat device/sysfs tree in net namespace
RDMA/core: Support core port attributes in non init_net
RDMA/core: Add module param to disable device sharing among net ns
RDMA: Check net namespace access for uverbs, umad, cma and nldev
RDMA/core: Extend ib_device_get_by_index for net namespace
RDMA/core: Add interface to read device namespace sharing mode
RDMA/core: Add command to set ib_core device net namspace sharing mode
RDMA/core: Avoid freeing netdevs in disable_device()
RDMA/core: Introduce a helper function to change net namespace of rdma device
RDMA/core: Add a netlink command to change net namespace of rdma device
IB/core: Allow vlan link local address based RoCE GIDs
RDMA/cma: Consider scope_id while binding to ipv6 ll address
RDMA/core: Do not invoke init_port on compat devices
RDMA/rxe: Consider skb reserve space based on netdev of GID
IB/cm: Reduce dependency on gid attribute ndev check
RDMA: Introduce and use GID attr helper to read RoCE L2 fields
RDMA/cma: Use rdma_read_gid_attr_ndev_rcu to access netdev
RDMA/rxe: Use rdma_read_gid_attr_ndev_rcu to access netdev
net/smc: Use rdma_read_gid_l2_fields to L2 fields
RDMA/core: Allow detaching gid attribute netdevice for RoCE
Potnuri Bharat Teja (2):
iw_cxgb4: Update Maintainer details
RDMA/iw_cxgb4: Always disconnect when QP is transitioning to TERMINATE state
Selvin Xavier (1):
RDMA/bnxt_re: Use correct sizing on buffers holding page DMA addresses
Shamir Rabinovitch (6):
IB: ucontext should be set properly for all cmd & ioctl paths
IB: Pass uverbs_attr_bundle down uobject destroy path
IB: Pass uverbs_attr_bundle down ib_x destroy path
IB: Remove 'uobject->context' dependency in object destroy APIs
IB: Pass only ib_udata in function prototypes
RDMA/uverbs: Initialize uverbs_attr_bundle ucontext in ib_uverbs_get_context
Shiraz Saleem (12):
RDMA/cxbg: Use correct sizing on buffers holding page DMA addresses
RDMA/mthca: Use correct sizing on buffers holding page DMA addresses
RDMA/rxe: Use correct sizing on buffers holding page DMA addresses
RDMA/rdmavt: Use correct sizing on buffers holding page DMA addresses
RDMA/umem: Combine contiguous PAGE_SIZE regions in SGEs
RDMA/umem: Use correct value for SG entries in sg_copy_to_buffer()
RDMA/umem: Handle page combining avoidance correctly in ib_umem_add_sg_table()
RDMA/umem: Add API to find best driver supported page size in an MR
RDMA/verbs: Add a DMA iterator to return aligned contiguous memory blocks
RDMA/i40iw: Use core helpers to get aligned DMA address within a supported page size
RDMA/bnxt_re: Use core helpers to get aligned DMA address
RDMA/umem: Remove hugetlb flag
Steve Wise (1):
RDMA/cxgb4: Use ib_device_set_netdev()
Yuval Shaia (1):
RDMA/vmw_pvrdma: Skip zeroing device attrs
Zhu Yanjun (1):
IB/rxe: Replace av->network_type with skb->protocol
chenglang (1):
RDMA/hns: Support to create 1M srq queue
MAINTAINERS | 17 +-
drivers/infiniband/Kconfig | 1 +
drivers/infiniband/core/addr.c | 1 +
drivers/infiniband/core/cache.c | 145 +-
drivers/infiniband/core/cm.c | 94 +-
drivers/infiniband/core/cm_msgs.h | 22 +-
drivers/infiniband/core/cma.c | 83 +-
drivers/infiniband/core/core_priv.h | 18 +-
drivers/infiniband/core/cq.c | 21 +-
drivers/infiniband/core/device.c | 632 ++++++-
drivers/infiniband/core/iwcm.c | 35 +-
drivers/infiniband/core/mad.c | 87 +-
drivers/infiniband/core/mad_priv.h | 4 +-
drivers/infiniband/core/multicast.c | 1 -
drivers/infiniband/core/nldev.c | 112 +-
drivers/infiniband/core/rdma_core.c | 200 +--
drivers/infiniband/core/rdma_core.h | 11 +-
drivers/infiniband/core/sa_query.c | 44 +-
drivers/infiniband/core/sysfs.c | 93 +-
drivers/infiniband/core/ucm.c | 35 +-
drivers/infiniband/core/umem.c | 179 +-
drivers/infiniband/core/umem_odp.c | 20 +-
drivers/infiniband/core/user_mad.c | 22 +
drivers/infiniband/core/uverbs.h | 7 +-
drivers/infiniband/core/uverbs_cmd.c | 99 +-
drivers/infiniband/core/uverbs_ioctl.c | 29 +-
drivers/infiniband/core/uverbs_main.c | 69 +-
drivers/infiniband/core/uverbs_std_types.c | 52 +-
.../infiniband/core/uverbs_std_types_counters.c | 6 +-
drivers/infiniband/core/uverbs_std_types_cq.c | 12 +-
drivers/infiniband/core/uverbs_std_types_dm.c | 10 +-
.../infiniband/core/uverbs_std_types_flow_action.c | 6 +-
drivers/infiniband/core/uverbs_std_types_mr.c | 9 +-
drivers/infiniband/core/verbs.c | 233 ++-
drivers/infiniband/hw/Makefile | 1 +
drivers/infiniband/hw/bnxt_re/Kconfig | 12 +-
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 194 +--
drivers/infiniband/hw/bnxt_re/ib_verbs.h | 36 +-
drivers/infiniband/hw/bnxt_re/main.c | 8 +-
drivers/infiniband/hw/bnxt_re/qplib_fp.c | 39 +-
drivers/infiniband/hw/bnxt_re/qplib_fp.h | 13 +-
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 4 +-
drivers/infiniband/hw/bnxt_re/qplib_res.c | 43 +-
drivers/infiniband/hw/bnxt_re/qplib_res.h | 8 +-
drivers/infiniband/hw/bnxt_re/qplib_sp.c | 16 +-
drivers/infiniband/hw/bnxt_re/qplib_sp.h | 4 +-
drivers/infiniband/hw/cxgb3/cxio_wr.h | 10 +-
drivers/infiniband/hw/cxgb3/iwch.c | 56 +-
drivers/infiniband/hw/cxgb3/iwch.h | 38 +-
drivers/infiniband/hw/cxgb3/iwch_ev.c | 18 +-
drivers/infiniband/hw/cxgb3/iwch_mem.c | 2 +-
drivers/infiniband/hw/cxgb3/iwch_provider.c | 97 +-
drivers/infiniband/hw/cxgb4/cm.c | 69 +-
drivers/infiniband/hw/cxgb4/cq.c | 23 +-
drivers/infiniband/hw/cxgb4/device.c | 210 +--
drivers/infiniband/hw/cxgb4/ev.c | 18 +-
drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 96 +-
drivers/infiniband/hw/cxgb4/mem.c | 25 +-
drivers/infiniband/hw/cxgb4/provider.c | 77 +-
drivers/infiniband/hw/cxgb4/qp.c | 77 +-
drivers/infiniband/hw/efa/Kconfig | 15 +
drivers/infiniband/hw/efa/Makefile | 9 +
drivers/infiniband/hw/efa/efa.h | 163 ++
drivers/infiniband/hw/efa/efa_admin_cmds_defs.h | 794 +++++++++
drivers/infiniband/hw/efa/efa_admin_defs.h | 136 ++
drivers/infiniband/hw/efa/efa_com.c | 1160 +++++++++++++
drivers/infiniband/hw/efa/efa_com.h | 144 ++
drivers/infiniband/hw/efa/efa_com_cmd.c | 692 ++++++++
drivers/infiniband/hw/efa/efa_com_cmd.h | 270 +++
drivers/infiniband/hw/efa/efa_common_defs.h | 18 +
drivers/infiniband/hw/efa/efa_main.c | 533 ++++++
drivers/infiniband/hw/efa/efa_regs_defs.h | 113 ++
drivers/infiniband/hw/efa/efa_verbs.c | 1825 ++++++++++++++++++++
drivers/infiniband/hw/hfi1/chip.c | 54 +-
drivers/infiniband/hw/hfi1/chip.h | 3 +
drivers/infiniband/hw/hfi1/chip_registers.h | 3 +
drivers/infiniband/hw/hfi1/common.h | 2 +-
drivers/infiniband/hw/hfi1/debugfs.c | 82 +-
drivers/infiniband/hw/hfi1/driver.c | 19 +-
drivers/infiniband/hw/hfi1/exp_rcv.c | 3 -
drivers/infiniband/hw/hfi1/hfi.h | 8 +-
drivers/infiniband/hw/hfi1/init.c | 59 +-
drivers/infiniband/hw/hfi1/opfn.h | 6 +-
drivers/infiniband/hw/hfi1/qp.c | 2 +
drivers/infiniband/hw/hfi1/rc.c | 27 +-
drivers/infiniband/hw/hfi1/rc.h | 8 +
drivers/infiniband/hw/hfi1/ruc.c | 2 +-
drivers/infiniband/hw/hfi1/tid_rdma.c | 274 ++-
drivers/infiniband/hw/hfi1/tid_rdma.h | 2 -
drivers/infiniband/hw/hfi1/trace_dbg.h | 4 +-
drivers/infiniband/hw/hfi1/trace_tid.h | 12 +-
drivers/infiniband/hw/hfi1/verbs.c | 15 +-
drivers/infiniband/hw/hfi1/verbs.h | 1 +
drivers/infiniband/hw/hfi1/vnic_main.c | 16 +-
drivers/infiniband/hw/hns/Makefile | 4 +-
drivers/infiniband/hw/hns/hns_roce_ah.c | 36 +-
drivers/infiniband/hw/hns/hns_roce_cmd.h | 1 +
drivers/infiniband/hw/hns/hns_roce_common.h | 33 -
drivers/infiniband/hw/hns/hns_roce_cq.c | 68 +-
drivers/infiniband/hw/hns/hns_roce_device.h | 52 +-
drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 396 +----
drivers/infiniband/hw/hns/hns_roce_hw_v1.h | 14 +-
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 320 ++--
drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 7 +-
drivers/infiniband/hw/hns/hns_roce_hw_v2_dfx.c | 35 +
drivers/infiniband/hw/hns/hns_roce_main.c | 35 +-
drivers/infiniband/hw/hns/hns_roce_mr.c | 6 +-
drivers/infiniband/hw/hns/hns_roce_pd.c | 7 +-
drivers/infiniband/hw/hns/hns_roce_qp.c | 50 +-
drivers/infiniband/hw/hns/hns_roce_restrack.c | 126 ++
drivers/infiniband/hw/hns/hns_roce_srq.c | 52 +-
drivers/infiniband/hw/i40iw/i40iw.h | 2 +-
drivers/infiniband/hw/i40iw/i40iw_cm.c | 21 +-
drivers/infiniband/hw/i40iw/i40iw_main.c | 5 +-
drivers/infiniband/hw/i40iw/i40iw_verbs.c | 123 +-
drivers/infiniband/hw/i40iw/i40iw_verbs.h | 3 +-
drivers/infiniband/hw/mlx4/ah.c | 103 +-
drivers/infiniband/hw/mlx4/cm.c | 36 +-
drivers/infiniband/hw/mlx4/cq.c | 40 +-
drivers/infiniband/hw/mlx4/doorbell.c | 6 +-
drivers/infiniband/hw/mlx4/mad.c | 33 +-
drivers/infiniband/hw/mlx4/main.c | 13 +-
drivers/infiniband/hw/mlx4/mlx4_ib.h | 41 +-
drivers/infiniband/hw/mlx4/mr.c | 7 +-
drivers/infiniband/hw/mlx4/qp.c | 50 +-
drivers/infiniband/hw/mlx4/srq.c | 59 +-
drivers/infiniband/hw/mlx5/ah.c | 33 +-
drivers/infiniband/hw/mlx5/cmd.c | 155 +-
drivers/infiniband/hw/mlx5/cmd.h | 8 +-
drivers/infiniband/hw/mlx5/cq.c | 47 +-
drivers/infiniband/hw/mlx5/devx.c | 32 +-
drivers/infiniband/hw/mlx5/flow.c | 99 +-
drivers/infiniband/hw/mlx5/ib_rep.c | 109 +-
drivers/infiniband/hw/mlx5/ib_rep.h | 13 +-
drivers/infiniband/hw/mlx5/main.c | 662 ++++---
drivers/infiniband/hw/mlx5/mlx5_ib.h | 118 +-
drivers/infiniband/hw/mlx5/mr.c | 52 +-
drivers/infiniband/hw/mlx5/odp.c | 132 +-
drivers/infiniband/hw/mlx5/qp.c | 161 +-
drivers/infiniband/hw/mlx5/srq.c | 76 +-
drivers/infiniband/hw/mlx5/srq.h | 7 +-
drivers/infiniband/hw/mlx5/srq_cmd.c | 35 +-
drivers/infiniband/hw/mthca/mthca_cq.c | 2 +-
drivers/infiniband/hw/mthca/mthca_eq.c | 16 +-
drivers/infiniband/hw/mthca/mthca_mr.c | 2 +-
drivers/infiniband/hw/mthca/mthca_provider.c | 179 +-
drivers/infiniband/hw/mthca/mthca_qp.c | 6 +-
drivers/infiniband/hw/nes/nes_cm.c | 3 +-
drivers/infiniband/hw/nes/nes_verbs.c | 168 +-
drivers/infiniband/hw/ocrdma/ocrdma_ah.c | 32 +-
drivers/infiniband/hw/ocrdma/ocrdma_ah.h | 6 +-
drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 18 +-
drivers/infiniband/hw/ocrdma/ocrdma_hw.h | 6 +-
drivers/infiniband/hw/ocrdma/ocrdma_main.c | 25 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 128 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.h | 24 +-
drivers/infiniband/hw/qedr/main.c | 57 +-
drivers/infiniband/hw/qedr/qedr.h | 11 +-
drivers/infiniband/hw/qedr/qedr_iw_cm.c | 10 +-
drivers/infiniband/hw/qedr/qedr_roce_cm.c | 11 +-
drivers/infiniband/hw/qedr/verbs.c | 129 +-
drivers/infiniband/hw/qedr/verbs.h | 27 +-
drivers/infiniband/hw/qib/qib.h | 4 +-
drivers/infiniband/hw/qib/qib_common.h | 2 +-
drivers/infiniband/hw/qib/qib_driver.c | 20 +-
drivers/infiniband/hw/qib/qib_fs.c | 12 +-
drivers/infiniband/hw/qib/qib_iba7322.c | 4 +-
drivers/infiniband/hw/qib/qib_init.c | 56 +-
drivers/infiniband/hw/qib/qib_rc.c | 4 +-
drivers/infiniband/hw/qib/qib_user_sdma.c | 5 +-
drivers/infiniband/hw/qib/qib_verbs.h | 2 +-
drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 15 +-
drivers/infiniband/hw/usnic/usnic_ib_verbs.h | 12 +-
drivers/infiniband/hw/usnic/usnic_uiom.c | 3 +-
drivers/infiniband/hw/usnic/usnic_uiom.h | 3 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 17 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 28 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c | 15 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 3 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c | 43 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c | 56 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 27 +-
drivers/infiniband/sw/rdmavt/ah.c | 38 +-
drivers/infiniband/sw/rdmavt/ah.h | 8 +-
drivers/infiniband/sw/rdmavt/cq.c | 7 +-
drivers/infiniband/sw/rdmavt/cq.h | 3 +-
drivers/infiniband/sw/rdmavt/mmap.c | 16 +-
drivers/infiniband/sw/rdmavt/mmap.h | 6 +-
drivers/infiniband/sw/rdmavt/mr.c | 9 +-
drivers/infiniband/sw/rdmavt/mr.h | 7 +-
drivers/infiniband/sw/rdmavt/pd.c | 7 +-
drivers/infiniband/sw/rdmavt/pd.h | 5 +-
drivers/infiniband/sw/rdmavt/qp.c | 27 +-
drivers/infiniband/sw/rdmavt/qp.h | 4 +-
drivers/infiniband/sw/rdmavt/rc.c | 2 +-
drivers/infiniband/sw/rdmavt/srq.c | 49 +-
drivers/infiniband/sw/rdmavt/srq.h | 7 +-
drivers/infiniband/sw/rdmavt/trace_qp.h | 2 +-
drivers/infiniband/sw/rdmavt/trace_rc.h | 2 +-
drivers/infiniband/sw/rdmavt/trace_tx.h | 2 +-
drivers/infiniband/sw/rdmavt/vt.c | 3 +
drivers/infiniband/sw/rxe/rxe_cq.c | 10 +-
drivers/infiniband/sw/rxe/rxe_hdr.h | 2 +-
drivers/infiniband/sw/rxe/rxe_loc.h | 16 +-
drivers/infiniband/sw/rxe/rxe_mmap.c | 14 +-
drivers/infiniband/sw/rxe/rxe_mr.c | 13 +-
drivers/infiniband/sw/rxe/rxe_net.c | 46 +-
drivers/infiniband/sw/rxe/rxe_pool.c | 4 +-
drivers/infiniband/sw/rxe/rxe_qp.c | 15 +-
drivers/infiniband/sw/rxe/rxe_queue.c | 22 +-
drivers/infiniband/sw/rxe/rxe_queue.h | 15 +-
drivers/infiniband/sw/rxe/rxe_srq.c | 14 +-
drivers/infiniband/sw/rxe/rxe_verbs.c | 90 +-
drivers/infiniband/sw/rxe/rxe_verbs.h | 4 +-
drivers/infiniband/ulp/ipoib/ipoib_main.c | 13 +-
drivers/infiniband/ulp/ipoib/ipoib_verbs.c | 3 +-
drivers/infiniband/ulp/iser/Kconfig | 4 +-
drivers/infiniband/ulp/iser/iscsi_iser.c | 7 +-
drivers/infiniband/ulp/iser/iscsi_iser.h | 2 +-
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c | 60 +-
.../net/ethernet/mellanox/mlx5/core/lib/clock.c | 30 +-
include/linux/dynamic_debug.h | 11 +
include/linux/mlx5/driver.h | 1 -
include/linux/overflow.h | 12 +-
include/linux/scatterlist.h | 10 +-
include/rdma/ib_cache.h | 4 +
include/rdma/ib_mad.h | 4 +-
include/rdma/ib_smi.h | 2 +-
include/rdma/ib_umem.h | 12 +-
include/rdma/ib_umem_odp.h | 1 +
include/rdma/ib_verbs.h | 430 ++++-
include/rdma/iw_cm.h | 25 -
include/rdma/opa_port_info.h | 2 +-
include/rdma/opa_smi.h | 4 +-
include/rdma/rdma_vt.h | 78 +-
include/rdma/rdmavt_qp.h | 89 +-
include/rdma/uverbs_std_types.h | 42 +-
include/rdma/uverbs_types.h | 18 +-
include/trace/events/ib_mad.h | 390 +++++
include/trace/events/ib_umad.h | 126 ++
include/uapi/rdma/efa-abi.h | 101 ++
include/uapi/rdma/mlx5-abi.h | 2 +
include/uapi/rdma/mlx5_user_ioctl_cmds.h | 2 +
include/uapi/rdma/mlx5_user_ioctl_verbs.h | 7 +
include/uapi/rdma/rdma_netlink.h | 31 +-
include/uapi/rdma/rdma_user_ioctl_cmds.h | 1 +
lib/dynamic_debug.c | 37 +
net/smc/smc_ib.c | 16 +-
samples/bpf/Makefile | 3 +
samples/bpf/ibumad_kern.c | 144 ++
samples/bpf/ibumad_user.c | 122 ++
251 files changed, 12535 insertions(+), 4571 deletions(-)
(diffstat from merge'd tree)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-04-28 11:52 Jason Gunthorpe
2019-04-28 16:59 ` Linus Torvalds
` (2 more replies)
0 siblings, 3 replies; 149+ messages in thread
From: Jason Gunthorpe @ 2019-04-28 11:52 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 3181 bytes --]
Hi Linus,
Third rc pull request
Nothing particularly special here. There is a small merge conflict
with Adrea's mm_still_valid patches which is resolved as below:
diff --cc drivers/infiniband/core/uverbs_main.c
index db20b6e0f253c9,f2e7ffe6fc5466..7843e89235c34b
--- a/drivers/infiniband/core/uverbs_main.c
+++ b/drivers/infiniband/core/uverbs_main.c
@@@ -1039,7 -992,9 +1039,9 @@@ void uverbs_user_mmap_disassociate(stru
* at a time to get the lock ordering right. Typically there
* will only be one mm, so no big deal.
*/
- down_write(&mm->mmap_sem);
+ down_read(&mm->mmap_sem);
+ if (!mmget_still_valid(mm))
+ goto skip_mm;
mutex_lock(&ufile->umap_lock);
list_for_each_entry_safe (priv, next_priv, &ufile->umaps,
list) {
@@@ -1051,9 -1006,11 +1053,10 @@@
zap_vma_ptes(vma, vma->vm_start,
vma->vm_end - vma->vm_start);
- vma->vm_flags &= ~(VM_SHARED | VM_MAYSHARE);
}
mutex_unlock(&ufile->umap_lock);
+ skip_mm:
- up_write(&mm->mmap_sem);
+ up_read(&mm->mmap_sem);
mmput(mm);
}
}
The tag for-linus-merged with my merge resolution to your tree is also available to pull.
Thanks,
Jason
The following changes since commit dc4060a5dc2557e6b5aa813bf5b73677299d62d2:
Linux 5.1-rc5 (2019-04-14 15:17:41 -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 2557fabd6e29f349bfa0ac13f38ac98aa5eafc74:
RDMA/hns: Bugfix for mapping user db (2019-04-25 10:40:04 -0300)
----------------------------------------------------------------
5.1 Third RC pull request
One core bug fix and a few driver ones
- FRWR memory registration for hfi1/qib didn't work with with some iovas
causing a NFSoRDMA failure regression due to a fix in the NFS side
- A command flow error in mlx5 allowed user space to send a corrupt
command (and also smash the kernel stack we've since learned)
- Fix a regression and some bugs with device hot unplug that was
discovered while reviewing Andrea's patches
- hns has a failure if the user asks for certain QP configurations
----------------------------------------------------------------
Guy Levi (1):
IB/mlx5: Fix scatter to CQE in DCT QP creation
Jason Gunthorpe (3):
RDMA/mlx5: Do not allow the user to write to the clock page
RDMA/mlx5: Use rdma_user_map_io for mapping BAR pages
RDMA/ucontext: Fix regression with disassociate
Josh Collier (1):
IB/rdmavt: Fix frwr memory registration
Lijun Ou (1):
RDMA/hns: Bugfix for mapping user db
drivers/infiniband/core/uverbs.h | 1 +
drivers/infiniband/core/uverbs_main.c | 52 +++++++++++++++++++++++++++++++--
drivers/infiniband/hw/hns/hns_roce_qp.c | 2 +-
drivers/infiniband/hw/mlx5/main.c | 12 ++++----
drivers/infiniband/hw/mlx5/qp.c | 11 ++++---
drivers/infiniband/sw/rdmavt/mr.c | 17 ++++++-----
include/uapi/rdma/mlx5-abi.h | 1 +
7 files changed, 76 insertions(+), 20 deletions(-)
(diffstat from tag for-linus-merged)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2019-04-28 11:52 Jason Gunthorpe
@ 2019-04-28 16:59 ` Linus Torvalds
2019-04-28 23:49 ` Jason Gunthorpe
2019-04-28 18:05 ` pr-tracker-bot
2019-04-29 6:09 ` Heiko Carstens
2 siblings, 1 reply; 149+ messages in thread
From: Linus Torvalds @ 2019-04-28 16:59 UTC (permalink / raw)
To: Jason Gunthorpe; +Cc: Doug Ledford, linux-rdma, linux-kernel
On Sun, Apr 28, 2019 at 4:52 AM Jason Gunthorpe <jgg@mellanox.com> wrote:
>
> Nothing particularly special here. There is a small merge conflict
> with Adrea's mm_still_valid patches which is resolved as below:
I still don't understand *why* you play the crazy VM games to begin with.
What's wrong with just returning SIGBUS? Why does that
rdma_umap_fault() not just look like this one-liner:
return VM_FAULT_SIGBUS;
without the crazy parts? Nobody ever explained why you'd want to have
that silly "let's turn it into a bogus anonymous mapping".
I've pulled this, but why do the rdma and SCSI people always do these
strange and pointless things?
Linus
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2019-04-28 16:59 ` Linus Torvalds
@ 2019-04-28 23:49 ` Jason Gunthorpe
2019-04-29 0:09 ` Linus Torvalds
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2019-04-28 23:49 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Doug Ledford, linux-rdma, linux-kernel
On Sun, Apr 28, 2019 at 09:59:56AM -0700, Linus Torvalds wrote:
> On Sun, Apr 28, 2019 at 4:52 AM Jason Gunthorpe <jgg@mellanox.com> wrote:
> >
> > Nothing particularly special here. There is a small merge conflict
> > with Adrea's mm_still_valid patches which is resolved as below:
>
> I still don't understand *why* you play the crazy VM games to begin with.
>
> What's wrong with just returning SIGBUS? Why does that
> rdma_umap_fault() not just look like this one-liner:
>
> return VM_FAULT_SIGBUS;
>
> without the crazy parts? Nobody ever explained why you'd want to have
> that silly "let's turn it into a bogus anonymous mapping".
There was a big thread where I went over the use case with Andrea, but
I guess that was private..
It is for high availability - we have situations where the hardware
can fault and needs some kind of destructive recovery. For instance a
firmware reboot, or a VM migration.
In these designs there may be multiple cards in the system and the
userspace application could be using both. Just because one card
crashed we can't send SIGBUS and kill the application, that breaks the
HA design.
So.. the kernel makes the BAR VMA into a 'dummy' and sends an async
notification to the application. The use of the BAR memory by
userspace is all 'write only' so it doesn't really care. When it sees
the async notification it safely cleans up the userspace side of
things.
An more modern VM example of where this gets used is on VM systems
using SRIO-V pass through of a raw RDMA device. When it is time to
migrate the VM then the hypervisor causes the SRIO-V instance to fault
and be removed from the guest kernel, then migrates and attaches a new
RDMA SRIO-V instance. The user space is expected to see the failure,
maintain state, then recover onto the new device.
The only alternative that has come up would be to delay the kernel
side until the application cleans up and deletes the VMA, but people
generally don't like this as it degrades the recovery time and has the
usual problems with blocking the kernel on userspace.
When this was created I'm not sure people explored more creative ideas
like trying to handle/ignore the SIGBUS in userspace - unfortunately
it has been so long now that we are probably stuck doing this as part
of the UAPI.
I've been trying to make it less crufty over the last year based on
remarks from yourself and Andrea, but I'm still stuck with this basic
requirement that the VMA shouldn't fault or touch the BAR after the
hardware is released by the kernel.
Thanks,
Jason
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2019-04-28 23:49 ` Jason Gunthorpe
@ 2019-04-29 0:09 ` Linus Torvalds
2019-04-30 12:53 ` Jason Gunthorpe
0 siblings, 1 reply; 149+ messages in thread
From: Linus Torvalds @ 2019-04-29 0:09 UTC (permalink / raw)
To: Jason Gunthorpe; +Cc: Doug Ledford, linux-rdma, linux-kernel
On Sun, Apr 28, 2019 at 4:49 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
>
> It is for high availability - we have situations where the hardware
> can fault and needs some kind of destructive recovery. For instance a
> firmware reboot, or a VM migration.
>
> In these designs there may be multiple cards in the system and the
> userspace application could be using both. Just because one card
> crashed we can't send SIGBUS and kill the application, that breaks the
> HA design.
Why can't this magical application that is *so* special that it is HA
and does magic mmap's of special rdma areas just catch the SIGBUS?
Honestly, the whole "it's for HA" excuse stinks. It stinks because you
now silently just replace the mapping with *garbage*. That's not HA,
that's just random.
Wouldn't it be a lot better to just get the SIGBUS, and then that
magical application knows that "oh, it's gone", and it could - in its
SIGBUS handler - just do the dummy anonymous mmap() with /dev/zero it
if it wants to?
Whatever. It really sounds like this is yet another horrible back for
bad interfaces for all these "super-special high-end enterprise
people".
I hope that some day enterprise people will wake up and realize that
"enterprise" seems to be often a code name for "lots of random hacks".
Linus
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2019-04-29 0:09 ` Linus Torvalds
@ 2019-04-30 12:53 ` Jason Gunthorpe
0 siblings, 0 replies; 149+ messages in thread
From: Jason Gunthorpe @ 2019-04-30 12:53 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Doug Ledford, linux-rdma, linux-kernel
On Sun, Apr 28, 2019 at 05:09:08PM -0700, Linus Torvalds wrote:
> On Sun, Apr 28, 2019 at 4:49 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
> >
> > It is for high availability - we have situations where the hardware
> > can fault and needs some kind of destructive recovery. For instance a
> > firmware reboot, or a VM migration.
> >
> > In these designs there may be multiple cards in the system and the
> > userspace application could be using both. Just because one card
> > crashed we can't send SIGBUS and kill the application, that breaks the
> > HA design.
>
> Why can't this magical application that is *so* special that it is HA
> and does magic mmap's of special rdma areas just catch the SIGBUS?
>
> Honestly, the whole "it's for HA" excuse stinks. It stinks because you
> now silently just replace the mapping with *garbage*. That's not HA,
> that's just random.
This should only used in cases where user space only writes to the BAR
page (it is an interrupt to the device essentially), so it doesn't
care that the pages are now garbage, we just need to redirect the
writes away from the bar.
However I think someone later on added a readable counter BAR pages to
one of the devices :( So even that ideal wasn't respected.
> Wouldn't it be a lot better to just get the SIGBUS, and then that
> magical application knows that "oh, it's gone", and it could - in its
> SIGBUS handler - just do the dummy anonymous mmap() with /dev/zero it
> if it wants to?
This does sound more appealing, and probably should have been done
instead. All this VMA stuff has been a big pain in the long run
Thanks,
Jason
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2019-04-28 11:52 Jason Gunthorpe
2019-04-28 16:59 ` Linus Torvalds
@ 2019-04-28 18:05 ` pr-tracker-bot
2019-04-29 6:09 ` Heiko Carstens
2 siblings, 0 replies; 149+ messages in thread
From: pr-tracker-bot @ 2019-04-28 18:05 UTC (permalink / raw)
To: Jason Gunthorpe; +Cc: Linus Torvalds, Doug Ledford, linux-rdma, linux-kernel
The pull request you sent on Sun, 28 Apr 2019 11:52:12 +0000:
> 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/14f974d7f0f1f93d8c35f496ae774ba0f1b3389a
Thank you!
--
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2019-04-28 11:52 Jason Gunthorpe
2019-04-28 16:59 ` Linus Torvalds
2019-04-28 18:05 ` pr-tracker-bot
@ 2019-04-29 6:09 ` Heiko Carstens
2019-04-29 8:40 ` Jason Gunthorpe
2 siblings, 1 reply; 149+ messages in thread
From: Heiko Carstens @ 2019-04-29 6:09 UTC (permalink / raw)
To: Jason Gunthorpe; +Cc: Linus Torvalds, Doug Ledford, linux-rdma, linux-kernel
On Sun, Apr 28, 2019 at 11:52:12AM +0000, Jason Gunthorpe wrote:
> Hi Linus,
>
> Third rc pull request
>
> Nothing particularly special here. There is a small merge conflict
> with Adrea's mm_still_valid patches which is resolved as below:
...
> Jason Gunthorpe (3):
> RDMA/mlx5: Do not allow the user to write to the clock page
> RDMA/mlx5: Use rdma_user_map_io for mapping BAR pages
> RDMA/ucontext: Fix regression with disassociate
This doesn't compile. The patch below would fix it, but not sure if
this is what is intended:
drivers/infiniband/core/uverbs_main.c: In function 'rdma_umap_fault':
drivers/infiniband/core/uverbs_main.c:898:28: error: 'struct vm_fault' has no member named 'vm_start'
vmf->page = ZERO_PAGE(vmf->vm_start);
^~
diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c
index 7843e89235c3..65fe89b3fa2d 100644
--- a/drivers/infiniband/core/uverbs_main.c
+++ b/drivers/infiniband/core/uverbs_main.c
@@ -895,7 +895,7 @@ static vm_fault_t rdma_umap_fault(struct vm_fault *vmf)
/* Read only pages can just use the system zero page. */
if (!(vmf->vma->vm_flags & (VM_WRITE | VM_MAYWRITE))) {
- vmf->page = ZERO_PAGE(vmf->vm_start);
+ vmf->page = ZERO_PAGE(vmf->vma->vm_start);
get_page(vmf->page);
return 0;
}
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2019-04-29 6:09 ` Heiko Carstens
@ 2019-04-29 8:40 ` Jason Gunthorpe
2019-04-29 9:00 ` Michal Kubecek
2019-04-29 15:42 ` Doug Ledford
0 siblings, 2 replies; 149+ messages in thread
From: Jason Gunthorpe @ 2019-04-29 8:40 UTC (permalink / raw)
To: Heiko Carstens, Doug Ledford; +Cc: Linus Torvalds, linux-rdma, linux-kernel
On Mon, Apr 29, 2019 at 08:09:47AM +0200, Heiko Carstens wrote:
> On Sun, Apr 28, 2019 at 11:52:12AM +0000, Jason Gunthorpe wrote:
> > Hi Linus,
> >
> > Third rc pull request
> >
> > Nothing particularly special here. There is a small merge conflict
> > with Adrea's mm_still_valid patches which is resolved as below:
> ...
> > Jason Gunthorpe (3):
> > RDMA/mlx5: Do not allow the user to write to the clock page
> > RDMA/mlx5: Use rdma_user_map_io for mapping BAR pages
> > RDMA/ucontext: Fix regression with disassociate
>
> This doesn't compile. The patch below would fix it, but not sure if
> this is what is intended:
>
> drivers/infiniband/core/uverbs_main.c: In function 'rdma_umap_fault':
> drivers/infiniband/core/uverbs_main.c:898:28: error: 'struct vm_fault' has no member named 'vm_start'
> vmf->page = ZERO_PAGE(vmf->vm_start);
> ^~
> diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c
> index 7843e89235c3..65fe89b3fa2d 100644
> +++ b/drivers/infiniband/core/uverbs_main.c
> @@ -895,7 +895,7 @@ static vm_fault_t rdma_umap_fault(struct vm_fault *vmf)
>
> /* Read only pages can just use the system zero page. */
> if (!(vmf->vma->vm_flags & (VM_WRITE | VM_MAYWRITE))) {
> - vmf->page = ZERO_PAGE(vmf->vm_start);
> + vmf->page = ZERO_PAGE(vmf->vma->vm_start);
> get_page(vmf->page);
> return 0;
> }
>
Thanks Heiko, this looks right to me.
I'm surprised to be seeing this at this point, these patches should
have been seen by 0 day for several days now, and they were in
linux-next already too..
Doug, can you send this to Linus today?
Thanks,
Jason
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2019-04-29 8:40 ` Jason Gunthorpe
@ 2019-04-29 9:00 ` Michal Kubecek
2019-04-29 9:19 ` Leon Romanovsky
2019-04-29 15:42 ` Doug Ledford
1 sibling, 1 reply; 149+ messages in thread
From: Michal Kubecek @ 2019-04-29 9:00 UTC (permalink / raw)
To: Jason Gunthorpe
Cc: Heiko Carstens, Doug Ledford, Linus Torvalds, linux-rdma, linux-kernel
On Mon, Apr 29, 2019 at 08:40:37AM +0000, Jason Gunthorpe wrote:
> On Mon, Apr 29, 2019 at 08:09:47AM +0200, Heiko Carstens wrote:
> > On Sun, Apr 28, 2019 at 11:52:12AM +0000, Jason Gunthorpe wrote:
> > > Hi Linus,
> > >
> > > Third rc pull request
> > >
> > > Nothing particularly special here. There is a small merge conflict
> > > with Adrea's mm_still_valid patches which is resolved as below:
> > ...
> > > Jason Gunthorpe (3):
> > > RDMA/mlx5: Do not allow the user to write to the clock page
> > > RDMA/mlx5: Use rdma_user_map_io for mapping BAR pages
> > > RDMA/ucontext: Fix regression with disassociate
> >
> > This doesn't compile. The patch below would fix it, but not sure if
> > this is what is intended:
> >
> > drivers/infiniband/core/uverbs_main.c: In function 'rdma_umap_fault':
> > drivers/infiniband/core/uverbs_main.c:898:28: error: 'struct vm_fault' has no member named 'vm_start'
> > vmf->page = ZERO_PAGE(vmf->vm_start);
> > ^~
> > diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c
> > index 7843e89235c3..65fe89b3fa2d 100644
> > +++ b/drivers/infiniband/core/uverbs_main.c
> > @@ -895,7 +895,7 @@ static vm_fault_t rdma_umap_fault(struct vm_fault *vmf)
> >
> > /* Read only pages can just use the system zero page. */
> > if (!(vmf->vma->vm_flags & (VM_WRITE | VM_MAYWRITE))) {
> > - vmf->page = ZERO_PAGE(vmf->vm_start);
> > + vmf->page = ZERO_PAGE(vmf->vma->vm_start);
> > get_page(vmf->page);
> > return 0;
> > }
> >
>
> Thanks Heiko, this looks right to me.
>
> I'm surprised to be seeing this at this point, these patches should
> have been seen by 0 day for several days now, and they were in
> linux-next already too..
Most architectures have versions of ZERO_PAGE() which ignore the
argument so that the code builds anyway. I'm not sure if 0-day also
tests s390x builds (which is where I ran into this).
Michal Kubecek
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2019-04-29 9:00 ` Michal Kubecek
@ 2019-04-29 9:19 ` Leon Romanovsky
0 siblings, 0 replies; 149+ messages in thread
From: Leon Romanovsky @ 2019-04-29 9:19 UTC (permalink / raw)
To: Michal Kubecek
Cc: Jason Gunthorpe, Heiko Carstens, Doug Ledford, Linus Torvalds,
linux-rdma, linux-kernel
On Mon, Apr 29, 2019 at 11:00:40AM +0200, Michal Kubecek wrote:
> On Mon, Apr 29, 2019 at 08:40:37AM +0000, Jason Gunthorpe wrote:
> > On Mon, Apr 29, 2019 at 08:09:47AM +0200, Heiko Carstens wrote:
> > > On Sun, Apr 28, 2019 at 11:52:12AM +0000, Jason Gunthorpe wrote:
> > > > Hi Linus,
> > > >
> > > > Third rc pull request
> > > >
> > > > Nothing particularly special here. There is a small merge conflict
> > > > with Adrea's mm_still_valid patches which is resolved as below:
> > > ...
> > > > Jason Gunthorpe (3):
> > > > RDMA/mlx5: Do not allow the user to write to the clock page
> > > > RDMA/mlx5: Use rdma_user_map_io for mapping BAR pages
> > > > RDMA/ucontext: Fix regression with disassociate
> > >
> > > This doesn't compile. The patch below would fix it, but not sure if
> > > this is what is intended:
> > >
> > > drivers/infiniband/core/uverbs_main.c: In function 'rdma_umap_fault':
> > > drivers/infiniband/core/uverbs_main.c:898:28: error: 'struct vm_fault' has no member named 'vm_start'
> > > vmf->page = ZERO_PAGE(vmf->vm_start);
> > > ^~
> > > diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c
> > > index 7843e89235c3..65fe89b3fa2d 100644
> > > +++ b/drivers/infiniband/core/uverbs_main.c
> > > @@ -895,7 +895,7 @@ static vm_fault_t rdma_umap_fault(struct vm_fault *vmf)
> > >
> > > /* Read only pages can just use the system zero page. */
> > > if (!(vmf->vma->vm_flags & (VM_WRITE | VM_MAYWRITE))) {
> > > - vmf->page = ZERO_PAGE(vmf->vm_start);
> > > + vmf->page = ZERO_PAGE(vmf->vma->vm_start);
> > > get_page(vmf->page);
> > > return 0;
> > > }
> > >
> >
> > Thanks Heiko, this looks right to me.
> >
> > I'm surprised to be seeing this at this point, these patches should
> > have been seen by 0 day for several days now, and they were in
> > linux-next already too..
>
> Most architectures have versions of ZERO_PAGE() which ignore the
> argument so that the code builds anyway. I'm not sure if 0-day also
> tests s390x builds (which is where I ran into this).
According to 0-build results for this patch, the answer is yes, it builds.
s390 default_defconfig
And it compiles uverbs_main.c (CONFIG_INFINIBAND_USER_ACCESS)
kernel git:(rdma-next) grep INFIN arch/s390/configs/debug_defconfig
CONFIG_INFINIBAND=m
CONFIG_INFINIBAND_USER_ACCESS=m
CONFIG_MLX4_INFINIBAND=m
CONFIG_MLX5_INFINIBAND=m
Thanks
>
> Michal Kubecek
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2019-04-29 8:40 ` Jason Gunthorpe
2019-04-29 9:00 ` Michal Kubecek
@ 2019-04-29 15:42 ` Doug Ledford
2019-04-29 16:29 ` Doug Ledford
1 sibling, 1 reply; 149+ messages in thread
From: Doug Ledford @ 2019-04-29 15:42 UTC (permalink / raw)
To: Jason Gunthorpe, Heiko Carstens; +Cc: Linus Torvalds, linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 2005 bytes --]
On Mon, 2019-04-29 at 08:40 +0000, Jason Gunthorpe wrote:
> On Mon, Apr 29, 2019 at 08:09:47AM +0200, Heiko Carstens wrote:
> > On Sun, Apr 28, 2019 at 11:52:12AM +0000, Jason Gunthorpe wrote:
> > > Hi Linus,
> > >
> > > Third rc pull request
> > >
> > > Nothing particularly special here. There is a small merge conflict
> > > with Adrea's mm_still_valid patches which is resolved as below:
> > ...
> > > Jason Gunthorpe (3):
> > > RDMA/mlx5: Do not allow the user to write to the clock page
> > > RDMA/mlx5: Use rdma_user_map_io for mapping BAR pages
> > > RDMA/ucontext: Fix regression with disassociate
> >
> > This doesn't compile. The patch below would fix it, but not sure if
> > this is what is intended:
> >
> > drivers/infiniband/core/uverbs_main.c: In function 'rdma_umap_fault':
> > drivers/infiniband/core/uverbs_main.c:898:28: error: 'struct vm_fault' has no member named 'vm_start'
> > vmf->page = ZERO_PAGE(vmf->vm_start);
> > ^~
> > diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c
> > index 7843e89235c3..65fe89b3fa2d 100644
> > +++ b/drivers/infiniband/core/uverbs_main.c
> > @@ -895,7 +895,7 @@ static vm_fault_t rdma_umap_fault(struct vm_fault *vmf)
> >
> > /* Read only pages can just use the system zero page. */
> > if (!(vmf->vma->vm_flags & (VM_WRITE | VM_MAYWRITE))) {
> > - vmf->page = ZERO_PAGE(vmf->vm_start);
> > + vmf->page = ZERO_PAGE(vmf->vma->vm_start);
> > get_page(vmf->page);
> > return 0;
> > }
> >
>
> Thanks Heiko, this looks right to me.
>
> I'm surprised to be seeing this at this point, these patches should
> have been seen by 0 day for several days now, and they were in
> linux-next already too..
>
> Doug, can you send this to Linus today?
Yep.
--
Doug Ledford <dledford@redhat.com>
GPG KeyID: B826A3330E572FDD
Key fingerprint = AE6B 1BDA 122B 23B4 265B 1274 B826 A333 0E57 2FDD
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2019-04-29 15:42 ` Doug Ledford
@ 2019-04-29 16:29 ` Doug Ledford
0 siblings, 0 replies; 149+ messages in thread
From: Doug Ledford @ 2019-04-29 16:29 UTC (permalink / raw)
To: Jason Gunthorpe, Heiko Carstens; +Cc: Linus Torvalds, linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 2164 bytes --]
On Mon, 2019-04-29 at 11:42 -0400, Doug Ledford wrote:
> On Mon, 2019-04-29 at 08:40 +0000, Jason Gunthorpe wrote:
> > On Mon, Apr 29, 2019 at 08:09:47AM +0200, Heiko Carstens wrote:
> > > On Sun, Apr 28, 2019 at 11:52:12AM +0000, Jason Gunthorpe wrote:
> > > > Hi Linus,
> > > >
> > > > Third rc pull request
> > > >
> > > > Nothing particularly special here. There is a small merge conflict
> > > > with Adrea's mm_still_valid patches which is resolved as below:
> > > ...
> > > > Jason Gunthorpe (3):
> > > > RDMA/mlx5: Do not allow the user to write to the clock page
> > > > RDMA/mlx5: Use rdma_user_map_io for mapping BAR pages
> > > > RDMA/ucontext: Fix regression with disassociate
> > >
> > > This doesn't compile. The patch below would fix it, but not sure if
> > > this is what is intended:
> > >
> > > drivers/infiniband/core/uverbs_main.c: In function 'rdma_umap_fault':
> > > drivers/infiniband/core/uverbs_main.c:898:28: error: 'struct vm_fault' has no member named 'vm_start'
> > > vmf->page = ZERO_PAGE(vmf->vm_start);
> > > ^~
> > > diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c
> > > index 7843e89235c3..65fe89b3fa2d 100644
> > > +++ b/drivers/infiniband/core/uverbs_main.c
> > > @@ -895,7 +895,7 @@ static vm_fault_t rdma_umap_fault(struct vm_fault *vmf)
> > >
> > > /* Read only pages can just use the system zero page. */
> > > if (!(vmf->vma->vm_flags & (VM_WRITE | VM_MAYWRITE))) {
> > > - vmf->page = ZERO_PAGE(vmf->vm_start);
> > > + vmf->page = ZERO_PAGE(vmf->vma->vm_start);
> > > get_page(vmf->page);
> > > return 0;
> > > }
> > >
> >
> > Thanks Heiko, this looks right to me.
> >
> > I'm surprised to be seeing this at this point, these patches should
> > have been seen by 0 day for several days now, and they were in
> > linux-next already too..
> >
> > Doug, can you send this to Linus today?
>
> Yep.
>
Done.
--
Doug Ledford <dledford@redhat.com>
GPG KeyID: B826A3330E572FDD
Key fingerprint = AE6B 1BDA 122B 23B4 265B 1274 B826 A333 0E57 2FDD
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-04-10 18:46 Jason Gunthorpe
2019-04-10 19:55 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2019-04-10 18:46 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 2213 bytes --]
Hi Linus,
Second rc pull request
The following changes since commit 8c2ffd9174779014c3fe1f96d9dc3641d9175f00:
Linux 5.1-rc2 (2019-03-24 14:02:26 -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 d737b25b1ae0540ba13cbd45ebb9b58a1d6d7f0d:
IB/hfi1: Do not flush send queue in the TID RDMA second leg (2019-04-10 15:09:30 -0300)
----------------------------------------------------------------
5.1 Second RC pull request
Several driver bug fixes posted in the last several weeks
- Several bug fixes for the hfi1 driver 'TID RDMA' functionality merged
into 5.1. Since TID RDMA is on by default these all seem to be
regressions.
- Wrong software permission checks on memory in mlx5
- Memory leak in vmw_pvrdma during driver remove
- Several bug fixes for hns driver features merged into 5.1
----------------------------------------------------------------
Kaike Wan (5):
IB/hfi1: Failed to drain send queue when QP is put into error state
IB/hfi1: Clear the IOWAIT pending bits when QP is put into error state
IB/hfi1: Eliminate opcode tests on mr deref
IB/hfi1: Fix the allocation of RSM table
IB/hfi1: Do not flush send queue in the TID RDMA second leg
Kamal Heib (1):
RDMA/vmw_pvrdma: Fix memory leak on pvrdma_pci_remove
Lijun Ou (1):
RDMA/hns: Fix bug that caused srq creation to fail
Moni Shoua (1):
IB/mlx5: Reset access mask when looping inside page fault handler
Yangyang Li (1):
RDMA/hns: Bugfix for SCC hem free
drivers/infiniband/hw/hfi1/chip.c | 26 +++++++++++++++------
drivers/infiniband/hw/hfi1/qp.c | 4 +++-
drivers/infiniband/hw/hfi1/rc.c | 4 ++--
drivers/infiniband/hw/hfi1/tid_rdma.c | 31 +++++++-------------------
drivers/infiniband/hw/hns/hns_roce_hem.c | 6 +++--
drivers/infiniband/hw/hns/hns_roce_mr.c | 4 ++--
drivers/infiniband/hw/hns/hns_roce_qp.c | 3 ---
drivers/infiniband/hw/mlx5/odp.c | 3 ++-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 2 ++
9 files changed, 42 insertions(+), 41 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-03-18 1:04 Jason Gunthorpe
2019-03-19 18:15 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2019-03-18 1:04 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1830 bytes --]
Hi Linus,
First rc pull request - nothing too special, just some driver bug
fixes that have been sitting during the merge window.
Thanks,
Jason
The following changes since commit 9e98c678c2d6ae3a17cb2de55d17f69dddaa231b:
Linux 5.1-rc1 (2019-03-17 14:22:26 -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 ec4fe4bcc584b55e24e8d1768f5510a62c0fd619:
i40iw: Avoid panic when handling the inetdev event (2019-03-17 21:40:40 -0300)
----------------------------------------------------------------
5.1 First RC pull request
Several driver bug fixes post in the last three weeks
- First part of a race condition fix in mlx4 with CATAS errors
- Bad interaction with FW causing resource leaks in the mlx5 DCT flow
- Bad reporting of link speed/width in new mlx5 devices
- Userspace triggable OOPs in i40iw
----------------------------------------------------------------
Aya Levin (1):
IB/mlx5: Fix mapping of link-mode to IB width and speed
Feng Tang (1):
i40iw: Avoid panic when handling the inetdev event
Jack Morgenstein (1):
IB/mlx4: Fix race condition between catas error reset and aliasguid flows
Yishai Hadas (2):
net/mlx5: Fix DCT creation bad flow
IB/mlx5: Use mlx5 core to create/destroy a DEVX DCT
drivers/infiniband/hw/i40iw/i40iw_utils.c | 12 ++++-
drivers/infiniband/hw/mlx4/alias_GUID.c | 2 +-
drivers/infiniband/hw/mlx5/devx.c | 34 +++++++++----
drivers/infiniband/hw/mlx5/main.c | 7 +++
drivers/infiniband/hw/mlx5/qp.c | 4 +-
drivers/net/ethernet/mellanox/mlx5/core/qp.c | 72 +++++++++++++++-------------
include/linux/mlx5/qp.h | 3 +-
7 files changed, 89 insertions(+), 45 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-03-07 1:34 Jason Gunthorpe
2019-03-10 1:40 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2019-03-07 1:34 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 37100 bytes --]
Hi Linus,
These are the proposed RDMA patches for 5.1.
There is a small conflict with the net tree in
drivers/infiniband/hw/mlx4/Kconfig that is resolved by deleting both
lines. There may also be conflicts with Matt's xarray tree that
changes some of the xarray APIs. RDMA has gained some new users of
those APIs this cycle.
Looking at the patchworks I'm thinking we might have a second merge
window pull request with some bug fixes and other rcish things that
were sent a little too late for this.
The next merge window may also see up to three new RDMA drivers, which
is quite unusual.
Thanks,
Jason
The tag for-linus-merged with my merge resolution to your tree is also available to pull.
The following changes since commit 08e8676f1607925adf36e399f0faa8ce3b10bb86:
IB/mlx5: Add support for 50Gbps per lane link modes (2019-02-14 12:14:42 -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 fca22e7e595f1799cfbfdfa13e16d48ece0d136c:
net/mlx5: ODP support for XRC transport is not enabled by default in FW (2019-03-06 15:53:09 -0400)
----------------------------------------------------------------
5.1 Merge Window Pull Request
This has been a slightly more active cycle than normal with ongoing core
changes and quite a lot of collected driver updates.
- Various driver fixes for bnxt_re, cxgb4, hns, mlx5, pvrdma, rxe
- A new data transfer mode for HFI1 giving higher performance
- Significant functional and bug fix update to the mlx5 On-Demand-Paging MR
feature
- A chip hang reset recovery system for hns
- Change mm->pinned_vm to an atomic64
- Update bnxt_re to support a new 57500 chip
- A sane netlink 'rdma link add' method for creating rxe devices and fixing
the various unregistration race conditions in rxe's unregister flow
- Allow lookup up objects by an ID over netlink
- Various reworking of the core to driver interface:
* Drivers should not assume umem SGLs are in PAGE_SIZE chunks
* ucontext is accessed via udata not other means
* Start to make the core code responsible for object memory
allocation
* Drivers should convert struct device to struct ib_device
via a helper
* Drivers have more tools to avoid use after unregister problems
----------------------------------------------------------------
Adit Ranadive (1):
RDMA/vmw_pvrdma: Support upto 64-bit PFNs
Bart Van Assche (5):
IB/core: Declare local functions 'static'
IB/mlx5: Declare local functions 'static'
RDMA/srp: Increase max_segment_size
IB/core: Remove ib_sg_dma_address() and ib_sg_dma_len()
IB/mlx5: Do not use hw_access_flags for be and CPU data
Colin Ian King (2):
RDMA/bnxt_re: fix or'ing of data into an uninitialized struct member
RDMA: Fix allocation failure on pointer pd
Dan Carpenter (2):
RDMA/bnxt_re: fix a size calculation
RDMA/core: Fix a WARN() message
Daniel Jurgens (4):
IB/core: Unregister notifier before freeing MAD security
IB/core: Fix potential memory leak while creating MAD agents
IB/core: Eliminate a hole in MAD agent struct
IB/core: Don't register each MAD agent for LSM notifier
Danit Goldberg (1):
IB/cma: Define option to set ack timeout and pack tos_set
Davidlohr Bueso (8):
mm: make mm->pinned_vm an atomic64 counter
drivers/mic/scif: do not use mmap_sem
drivers/IB,qib: optimize mmap_sem usage
drivers/IB,hfi1: do not se mmap_sem
drivers/IB,usnic: reduce scope of mmap_sem
drivers/IB,core: reduce scope of mmap_sem
Documentation/infiniband: update from locked to pinned_vm
drivers/IB,qib: Fix pinned/locked limit check in qib_get_user_pages()
Devesh Sharma (9):
RDMA/bnxt_re: Add chip context to identify 57500 series
RDMA/bnxt_re: Add 64bit doorbells for 57500 series
RDMA/bnxt_re: Skip backing store allocation for 57500 series
RDMA/bnxt_re: Enable GSI QP support for 57500 series
RDMA/bnxt_re: Add extended psn structure for 57500 adapters
RDMA/bnxt_re: Update kernel user abi to pass chip context
RDMA/bnxt_en: Enable RDMA driver support for 57500 chip
bnxt_re: fix the regression due to changes in alloc_pbl
bnxt_re: Clean cq for kernel consumers only
Doug Ledford (6):
Merge branch 'opfn' into hfi1-tid
Merge branch 'tid-read' into hfi1-tid
Merge branch 'tid-write' into hfi1-tid
Merge branch 'hfi1-tid' into wip/dl-for-next
Merge branch 'wip/dl-for-next' into for-next
Merge branch 'for-next' of git://git.kernel.org/.../rdma/rdma into for-next
Erez Alfasi (1):
IB/ipoib: Use __func__ instead of function's name
Gal Pressman (6):
IB/usnic: Fix out of bounds index check in query pkey
RDMA/ocrdma: Fix out of bounds index check in query pkey
RDMA/qedr: Fix out of bounds index check in query pkey
RDMA: Add indication for in kernel API support to IB device
IB/usnic: Remove stub functions
IB/mlx5: Simplify WQE count power of two check
Greg Kroah-Hartman (8):
infiniband: cxgb4: no need to check return value of debugfs_create functions
infiniband: hfi1: drop crazy DEBUGFS_SEQ_FILE_CREATE() macro
infiniband: hfi1: no need to check return value of debugfs_create functions
infiniband: qib: no need to check return value of debugfs_create functions
infiniband: mlx5: no need to check return value of debugfs_create functions
infiniband: ocrdma: no need to check return value of debugfs_create functions
infiniband: usnic: no need to check return value of debugfs_create functions
infiniband: ipoib: no need to check return value of debugfs_create functions
Gustavo A. R. Silva (6):
IB/cm: Use struct_size() in kmalloc()
IB/usnic: Use struct_size() in kmalloc()
IB/core: Use struct_size() in kzalloc()
IB/srp: Use struct_size() in kzalloc()
RDMA/mlx5: Replace kzalloc with kcalloc
IB/hfi1: Add missing break in switch statement
Håkon Bugge (1):
IB/mlx4: Increase the timeout for CM cache
Ira Weiny (1):
RDMA/qib: Use GUP longterm for PSM page pining
Israel Rukshin (1):
IB/iser: Pass the correct number of entries for dma mapped SGL
Jason Gunthorpe (27):
IB/{core,hw}: Have ib_umem_get extract the ib_ucontext from ib_udata
RDMA/device: Use __ib_device_get_by_name() in ib_device_rename()
RDMA/iw_cxgb4: Drop __GFP_NOFAIL
Merge branch 'devx-async' into k.o/for-next
Merge branch 'mlx5-next into rdma.git for-next
Merge tag 'v5.0-rc5' into rdma.git for-next
RDMA/device: Check that the rename is nop under the lock
RDMA/device: Ensure that security memory is always freed
RDMA/device: Call ib_cache_release_one() only from ib_device_release()
RDMA/device: Get rid of reg_state
RDMA/device: Use an ida instead of a free page in alloc_name
RDMA/devices: Use xarray to store the clients
RDMA/devices: Use xarray to store the client_data
RDMA/devices: Re-organize device.c locking
lib/scatterlist: Provide a DMA page iterator
RDMA/uverbs: Fix an error flow in ib_uverbs_poll_cq
RDMA: Add and use rdma_for_each_port
RDMA/device: Consolidate ib_device per_port data into one place
RDMA/cache: Move the cache per-port data into the main ib_port_data
RDMA/device: Add ib_device_set_netdev() as an alternative to get_netdev
RDMA/device: Add ib_device_get_by_netdev()
RDMA/rxe: Use ib_device_get_by_netdev() instead of open coding
RDMA/device: Provide APIs from the core code to help unregistration
RDMA/rxe: Use driver_unregister and new unregistration API
RDMA/rxe: Add ib_device_get_by_name() and use it in rxe
RDMA/rxe: Close a race after ib_register_device
Merge branch 'mlx5-next' into rdma.git for-next
John Hubbard (2):
RDMA/umem: minor bug fix in error handling path
RDMA/umem: Revert broken 'off by one' fix
Kaike Wan (46):
IB/hfi1: Add OPFN helper functions for TID RDMA feature
IB/hfi1: OPFN interface
IB/hfi1, IB/rdmavt: Allow for extending of QP's s_ack_queue
IB/hfi1: Integrate OPFN into RC transactions
IB/hfi1: Add static trace for OPFN
IB/hfi: Move RC functions into a header file
IB/hfi1: TID RDMA flow allocation
IB/hfi1: TID RDMA RcvArray programming and TID allocation
IB/hfi1: Add the counter n_tidwait
IB/hfi1: Add static trace for flow and TID management functions
IB/hfi1: Add functions to build TID RDMA READ request
IB/hfi1: Set PbcInsertHcrc for TID RDMA packets
IB/hfi1: Add functions to receive TID RDMA READ request
IB/hfi1: Add a function to build TID RDMA READ response
IB/hfi1: Add functions to receive TID RDMA READ response
IB/hfi1: Add TID RDMA handlers
IB/hfi1: Add functions for restarting TID RDMA READ request
IB/hfi1: Increment the retry timeout value for TID RDMA READ request
IB/hfi1: Integrate TID RDMA READ protocol into RC protocol
IB/hfi1: Add interlock between a TID RDMA request and other requests
IB/hfi1: Enable TID RDMA READ protocol
IB/hfi1: Add static trace for TID RDMA READ protocol
IB/hfi1: Build TID RDMA WRITE request
IB/hfi1: Allow for extra entries in QP's s_ack_queue
IB/hfi1: Add an s_acked_ack_queue pointer
IB/hfi1: Add functions to receive TID RDMA WRITE request
IB/hfi1: Add a function to build TID RDMA WRITE response
IB/hfi1: Add TID resource timer
IB/hfi1: Add a function to receive TID RDMA WRITE response
IB/hfi1: Add a function to build TID RDMA WRITE DATA packet
IB/hfi1: Add a function to receive TID RDMA WRITE DATA packet
IB/hfi1: Add a function to build TID RDMA ACK packet
IB/hfi1: Add a function to receive TID RDMA ACK packet
IB/hfi1: Add TID RDMA retry timer
IB/hfi1: Add a function to build TID RDMA RESYNC packet
IB/hfi1: Add a function to receive TID RDMA RESYNC packet
IB/hfi1: Resend the TID RDMA WRITE DATA packets
IB/hfi1: Add the TID second leg send packet builder
IB/hfi1: Add the TID second leg ACK packet builder
IB/hfi1: Add the dual leg code
IB/hfi1: Add TID RDMA WRITE functionality into RDMA verbs
IB/hfi1: Add interlock between TID RDMA WRITE and other requests
IB/hfi1: Enable TID RDMA WRITE protocol
IB/hfi1: Add static trace for TID RDMA WRITE protocol
IB/hfi1: Prioritize the sending of ACK packets
IB/hfi1: Fix a build warning for TID RDMA READ
Kamal Heib (5):
IB/ipoib: Make ipoib_intercept_dev_id_attr() static
IB/mlx5: Make mlx5_ib_stage_odp_cleanup() static
IB/mlx5: Remove set but not used variable
RDMA/rxe: Move rxe_init_av() to rxe_av.c
RDMA/rxe: Improve loopback marking
Leon Romanovsky (35):
RDMA: Clean structures from CONFIG_INFINIBAND_ON_DEMAND_PAGING
RDMA/core: Don't depend device ODP capabilities on kconfig option
RDMA/mlx5: Introduce and reuse helper to identify ODP MR
RDMA/mlx5: Embed into the code flow the ODP config option
RDMA/mlx5: Delete declaration of already removed function
RDMA: Clear PD objects during their allocation
RDMA: Clear CQ objects during their allocation
RDMA: Clear CTX objects during their allocation
RDMA: Provide safe ib_alloc_device() function
RDMA/nldev: Dynamically generate restrack dumpit callbacks
RDMA/nldev: Factor out the PID namespace check
RDMA/nldev: Prepare CAP_NET_ADMIN checks for .doit callbacks
RDMA/core: Simplify restrack interface
RDMA/restrack: Refactor user/kernel restrack additions
RDMA/core: Use the ops infrastructure to keep all callbacks in one place
RDMA/cma: Remove CM_ID statistics provided by rdma-cm module
RDMA/core: Share driver structure size with core
RDMA: Handle PD allocations by IB/core
RDMA/nes: Remove useless usecnt variable and redundant memset
RDMA/cxgb4: Remove kref accounting for sync operation
RDMA/restrack: Convert internal DB from hash to XArray
RDMA/restrack: Translate from ID to restrack object
RDMA/nldev: Add resource tracker doit callback
RDMA/restrack: Reduce scope of synchronization lock while updating DB
RDMA/restrack: Hide restrack DB from IB/core
net/mlx5: Factor out HCA capabilities functions
RDMA/restrack: Prepare restrack_root to addition of extra fields per-type
RDMA/nldev: Share with user-space object IDs
RDMA/nldev: Provide parent IDs for PD, MR and QP objects
RDMA/nldev: Connect QP number to .doit callback
RDMA/nldev: Don't expose number of not-visible entries
RDMA/iwcm: Fix string truncation error
RDMA/uverbs: Store PR pointer before it is overwritten
RDMA: Handle ucontext allocations by IB/core
RDMA/uverbs: Don't do double free of allocated PD
Lijun Ou (7):
RDMA/hns: Fix the bug with updating rq head pointer when flush cqe
RDMA/hns: Bugfix for the scene without receiver queue
RDMA/hns: Add constraint on the setting of local ACK timeout
RDMA/hns: Modify the pbl ba page size for hip08
RDMA/hns: RDMA/hns: Assign rq head pointer when enable rq record db
RDMA/hns: Configure capacity of hns device
RDMA/hns: Modify qp&cq&pd specification according to UM
Maor Gottlieb (1):
IB/mlx5: Don't override existing ip_protocol
Mark Bloch (1):
RDMA/mlx5: Fix memory leak in case we fail to add an IB device
Masahiro Yamada (2):
infiniband: remove unneeded header search paths
infiniband: prefix header search paths with $(srctree)/
Max Gurtovoy (1):
IB/iser: Fix dma_nents type definition
Michael J. Ruhl (4):
IB/{hfi1,qib}: Cleanup open coded sge sizing
IB/{hfi1, qib, rvt} Cleanup open coded sge usage
IB/rdmavt: Fix concurrency panics in QP post_send and modify to error
IB/hfi1: Close race condition on user context disable and close
Mike Marciniszyn (2):
IB/rdmavt: Add wc_flags and wc_immdata to cq entry trace
IB/rdmavt: Fix loopback send with invalidate ordering
Mitko Haralanov (1):
IB/hfi1: OPFN support discovery
Moni Shoua (17):
IB/mlx5: Ranges in implicit ODP MR inherit its write access
IB/mlx5: Remove dead code
IB/mlx5: Fix the locking of SRQ objects in ODP events
IB/core: Allocate a bit for SRQ ODP support
IB/uverbs: Expose XRC ODP device capabilities
IB/mlx5: Remove useless check in ODP handler
IB/mlx5: Clean mlx5_ib_mr_responder_pfault_handler() signature
IB/mlx5: Add XRC initiator ODP support
IB/mlx5: Let read user wqe also from SRQ buffer
IB/mlx5: Add ODP SRQ support
IB/mlx5: Advertise SRQ ODP support for supported transports
IB/mlx5: Advertise XRC ODP support
IB/mlx5: Protect against prefetch of invalid MR
IB/mlx5: Validate correct PD before prefetch MR
IB/core: Abort page fault handler silently during owning process exit
IB/mlx5: Set correct write permissions for implicit ODP MR
net/mlx5: ODP support for XRC transport is not enabled by default in FW
Myungho Jung (1):
RDMA/cma: Rollback source IP address if failing to acquire device
Noa Osherovich (1):
RDMA/core: Verify that memory window type is legal
Parav Pandit (9):
RDMA: Rename port_callback to init_port
RDMA: Introduce and use rdma_device_to_ibdev()
IB/core: Simplify rdma cgroup registration
IB/umad: Avoid additional device reference during open()/close()
IB/umad: Do not check status of nonseekable_open()
IB/mlx5: Consider vlan of lower netdev for macvlan GID entries
RDMA/core: Use simpler device_del() instead of device_unregister()
RDMA/core: Introduce and use ib_setup_port_attrs()
RDMA/core: Move device addition deletion to device.c
Parvi Kaustubhi (2):
IB/usnic: Fix locking when unregistering
IB/usnic: Fix deadlock
Potnuri Bharat Teja (1):
iw_cxgb4: Check for send WR also while posting write with completion WR
Raju Rangoju (4):
RDMA/iw_cxgb4: Fix the unchecked ep dereference
cxgb4: add tcb flags and tcb rpl struct
iw_cxgb4: complete the cached SRQ buffers
iw_cxgb4: fix srqidx leak during connection abort
Shamir Rabinovitch (4):
IB/{core,uverbs}: Move ib_umem_xxx functions from ib_core to ib_uverbs
IB/uverbs: Add ib_ucontext to uverbs_attr_bundle sent from ioctl and cmd flows
IB/verbs: Add helper function rdma_udata_to_drv_context
IB/{hw,sw}: Remove 'uobject->context' dependency in object creation APIs
Shaobo He (1):
cxgb4: kfree mhp after the debug print
Shiraz, Saleem (12):
RDMA/bnxt_re: Use for_each_sg_dma_page iterator on umem SGL
RDMA/mthca: Use for_each_sg_dma_page iterator on umem SGL
RDMA/i40iw: Use for_each_sg_dma_page iterator on umem SGL
RDMA/hns: Use for_each_sg_dma_page iterator on umem SGL
RDMA/cxgb4: Use for_each_sg_dma_page iterator on umem SGL
RDMA/cxgb3: Use for_each_sg_dma_page iterator on umem SGL
RDMA/vmw_pvrdma: Use for_each_sg_dma_page iterator on umem SGL
RDMA/qedr: Use for_each_sg_dma_page iterator on umem SGL
RDMA/ocrdma: Use for_each_sg_dma_page iterator on umem SGL
RDMA/rxe: Use for_each_sg_page iterator on umem SGL
RDMA/rdmavt: Adapt to handle non-uniform sizes on umem SGEs
RDMA/nes: Use for_each_sg_dma_page iterator for umem SGL
Steve Wise (12):
iw_cxgb*: kzalloc the iwcm verbs struct
RDMA/IWPM: refactor the IWPM message attribute names
RDMA/IWPM: Support no port mapping requirements
RDMA/iwpm: move kdoc comments to functions
RDMA/cma: listening device cm_ids should inherit tos
RDMA/iwcm: add tos_set bool to iw_cm struct
iw_cxgb4: use listening ep tos when accepting new connections
iw_cxgb4: use tos when importing the endpoint
iw_cxgb4: use tos when finding ipv6 routes
RDMA/core: Add RDMA_NLDEV_CMD_NEWLINK/DELLINK support
rdma_rxe: Use netlink messages to add/delete links
lib/irq_poll: Support schedules in non-interrupt contexts
Wei Hu (Xavier) (3):
RDMA/hns: Fix the Oops during rmmod or insmod ko when reset occurs
RDMA/hns: Fix the chip hanging caused by sending mailbox&CMQ during reset
RDMA/hns: Fix the chip hanging caused by sending doorbell during reset
Wei Yongjun (1):
iw_cxgb4: Make function read_tcb() static
Xiaofei Tan (1):
RDMA/hns: Add the process of AEQ overflow for hip08
Yangyang Li (4):
RDMA/hns: Add SCC context allocation support for hip08
RDMA/hns: Add SCC context clr support for hip08
RDMA/hns: Add timer allocation support for hip08
RDMA/hns: Bugfix for set hem of SCC
Yishai Hadas (8):
IB/mlx5: DEVX handling for indirection MKEY
IB/mlx5: Manage indirection mkey upon DEVX flow for ODP
IB/mlx5: Add support for ODP for DEVX indirection mkey
IB/mlx5: Introduce MLX5_IB_OBJECT_DEVX_ASYNC_CMD_FD
IB/mlx5: Introduce async DEVX obj query API
IB/mlx5: Implement the file ops of DEVX async command FD
IB/mlx5: Implement DEVX hot unplug for async command FD
IB/mlx5: Fix bad flow upon DEVX mkey creation
Yixian Liu (3):
RDMA/hns: Fix the state of rereg mr
RDMA/hns: Set allocated memory to zero for wrid
RDMA/hns: Delete useful prints for aeq subtype event
YueHaibing (6):
RDMA/qedr: remove set but not used variable 'ib_ctx'
IB/hw: Remove unneeded semicolons
RDMA/hns: Remove set but not used variable 'rst'
RDMA/hns: Make some function static
RDMA/iwpm: Remove set but not used variable 'msg_seq'
RDMA/hns: Use GFP_ATOMIC in hns_roce_v2_modify_qp
Yuval Avnery (1):
IB/core: Destroy QP if XRC QP fails
Yuval Shaia (1):
RDMA/core: Cosmetic change - move member initialization to correct block
Zhu Yanjun (1):
IB/rxe: Remove unnecessary rxe variable
chenglang (1):
RDMA/hns: Limit minimum ROCE CQ depth to 64
.clang-format | 2 +
Documentation/infiniband/user_verbs.txt | 4 +-
drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c | 8 +-
drivers/infiniband/Kconfig | 15 +-
drivers/infiniband/core/Makefile | 4 +-
drivers/infiniband/core/cache.c | 118 +-
drivers/infiniband/core/cgroup.c | 5 +-
drivers/infiniband/core/cm.c | 3 +-
drivers/infiniband/core/cma.c | 139 +-
drivers/infiniband/core/cma_priv.h | 4 +-
drivers/infiniband/core/core_priv.h | 35 +-
drivers/infiniband/core/device.c | 1323 +++--
drivers/infiniband/core/iwcm.c | 13 +-
drivers/infiniband/core/iwpm_msg.c | 232 +-
drivers/infiniband/core/iwpm_util.c | 86 +-
drivers/infiniband/core/iwpm_util.h | 12 +
drivers/infiniband/core/mad.c | 4 +-
drivers/infiniband/core/netlink.c | 4 +-
drivers/infiniband/core/nldev.c | 492 +-
drivers/infiniband/core/rdma_core.c | 42 +-
drivers/infiniband/core/restrack.c | 210 +-
drivers/infiniband/core/restrack.h | 28 +
drivers/infiniband/core/rw.c | 12 +-
drivers/infiniband/core/sa_query.c | 4 +-
drivers/infiniband/core/security.c | 96 +-
drivers/infiniband/core/sysfs.c | 93 +-
drivers/infiniband/core/ucma.c | 7 +
drivers/infiniband/core/umem.c | 60 +-
drivers/infiniband/core/umem_odp.c | 21 +-
drivers/infiniband/core/user_mad.c | 52 +-
drivers/infiniband/core/uverbs_cmd.c | 69 +-
drivers/infiniband/core/uverbs_ioctl.c | 3 +
drivers/infiniband/core/uverbs_main.c | 2 +
drivers/infiniband/core/uverbs_std_types.c | 2 +-
drivers/infiniband/core/uverbs_uapi.c | 15 +-
drivers/infiniband/core/verbs.c | 73 +-
drivers/infiniband/hw/bnxt_re/Kconfig | 1 +
drivers/infiniband/hw/bnxt_re/Makefile | 2 +-
drivers/infiniband/hw/bnxt_re/bnxt_re.h | 1 +
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 268 +-
drivers/infiniband/hw/bnxt_re/ib_verbs.h | 16 +-
drivers/infiniband/hw/bnxt_re/main.c | 134 +-
drivers/infiniband/hw/bnxt_re/qplib_fp.c | 193 +-
drivers/infiniband/hw/bnxt_re/qplib_fp.h | 47 +-
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 40 +-
drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 45 +-
drivers/infiniband/hw/bnxt_re/qplib_res.c | 22 +-
drivers/infiniband/hw/bnxt_re/qplib_res.h | 30 +-
drivers/infiniband/hw/bnxt_re/qplib_sp.c | 3 +-
drivers/infiniband/hw/bnxt_re/roce_hsi.h | 160 +-
drivers/infiniband/hw/cxgb3/Makefile | 2 +-
drivers/infiniband/hw/cxgb3/iwch.c | 2 +-
drivers/infiniband/hw/cxgb3/iwch_provider.c | 95 +-
drivers/infiniband/hw/cxgb4/Makefile | 4 +-
drivers/infiniband/hw/cxgb4/cm.c | 199 +-
drivers/infiniband/hw/cxgb4/device.c | 10 +-
drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 16 +-
drivers/infiniband/hw/cxgb4/mem.c | 36 +-
drivers/infiniband/hw/cxgb4/provider.c | 85 +-
drivers/infiniband/hw/cxgb4/qp.c | 33 +-
drivers/infiniband/hw/cxgb4/t4.h | 1 +
drivers/infiniband/hw/hfi1/Makefile | 1 +
drivers/infiniband/hw/hfi1/chip.c | 13 +
drivers/infiniband/hw/hfi1/chip.h | 4 +-
drivers/infiniband/hw/hfi1/common.h | 4 +
drivers/infiniband/hw/hfi1/debugfs.c | 58 +-
drivers/infiniband/hw/hfi1/debugfs.h | 12 -
drivers/infiniband/hw/hfi1/driver.c | 58 +-
drivers/infiniband/hw/hfi1/fault.c | 53 +-
drivers/infiniband/hw/hfi1/hfi.h | 24 +-
drivers/infiniband/hw/hfi1/init.c | 35 +-
drivers/infiniband/hw/hfi1/iowait.c | 34 +-
drivers/infiniband/hw/hfi1/iowait.h | 99 +-
drivers/infiniband/hw/hfi1/opfn.c | 323 ++
drivers/infiniband/hw/hfi1/opfn.h | 85 +
drivers/infiniband/hw/hfi1/pio.c | 18 +-
drivers/infiniband/hw/hfi1/qp.c | 76 +-
drivers/infiniband/hw/hfi1/qp.h | 7 +
drivers/infiniband/hw/hfi1/rc.c | 1141 ++++-
drivers/infiniband/hw/hfi1/rc.h | 51 +
drivers/infiniband/hw/hfi1/ruc.c | 48 +-
drivers/infiniband/hw/hfi1/sdma.c | 24 +-
drivers/infiniband/hw/hfi1/sdma_txreq.h | 1 +
drivers/infiniband/hw/hfi1/sysfs.c | 16 +-
drivers/infiniband/hw/hfi1/tid_rdma.c | 5418 +++++++++++++++++++++
drivers/infiniband/hw/hfi1/tid_rdma.h | 311 +-
drivers/infiniband/hw/hfi1/trace.c | 118 +
drivers/infiniband/hw/hfi1/trace.h | 1 +
drivers/infiniband/hw/hfi1/trace_ibhdrs.h | 8 +
drivers/infiniband/hw/hfi1/trace_rc.h | 48 +
drivers/infiniband/hw/hfi1/trace_rx.h | 107 +-
drivers/infiniband/hw/hfi1/trace_tid.h | 1610 ++++++
drivers/infiniband/hw/hfi1/trace_tx.h | 18 +-
drivers/infiniband/hw/hfi1/uc.c | 3 +-
drivers/infiniband/hw/hfi1/ud.c | 24 +-
drivers/infiniband/hw/hfi1/user_exp_rcv.h | 1 -
drivers/infiniband/hw/hfi1/user_pages.c | 12 +-
drivers/infiniband/hw/hfi1/user_sdma.c | 9 +-
drivers/infiniband/hw/hfi1/verbs.c | 210 +-
drivers/infiniband/hw/hfi1/verbs.h | 104 +-
drivers/infiniband/hw/hfi1/verbs_txreq.h | 1 +
drivers/infiniband/hw/hfi1/vnic_sdma.c | 6 +-
drivers/infiniband/hw/hns/Kconfig | 1 -
drivers/infiniband/hw/hns/Makefile | 2 +-
drivers/infiniband/hw/hns/hns_roce_cmd.c | 32 +-
drivers/infiniband/hw/hns/hns_roce_cmd.h | 12 +
drivers/infiniband/hw/hns/hns_roce_cq.c | 9 +-
drivers/infiniband/hw/hns/hns_roce_db.c | 6 +-
drivers/infiniband/hw/hns/hns_roce_device.h | 63 +-
drivers/infiniband/hw/hns/hns_roce_hem.c | 68 +-
drivers/infiniband/hw/hns/hns_roce_hem.h | 3 +
drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 36 +-
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 596 ++-
drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 92 +-
drivers/infiniband/hw/hns/hns_roce_main.c | 88 +-
drivers/infiniband/hw/hns/hns_roce_mr.c | 95 +-
drivers/infiniband/hw/hns/hns_roce_pd.c | 25 +-
drivers/infiniband/hw/hns/hns_roce_qp.c | 92 +-
drivers/infiniband/hw/hns/hns_roce_srq.c | 16 +-
drivers/infiniband/hw/i40iw/Makefile | 2 +-
drivers/infiniband/hw/i40iw/i40iw_utils.c | 1 -
drivers/infiniband/hw/i40iw/i40iw_verbs.c | 137 +-
drivers/infiniband/hw/mlx4/Kconfig | 1 -
drivers/infiniband/hw/mlx4/cm.c | 2 +-
drivers/infiniband/hw/mlx4/cq.c | 19 +-
drivers/infiniband/hw/mlx4/doorbell.c | 6 +-
drivers/infiniband/hw/mlx4/main.c | 77 +-
drivers/infiniband/hw/mlx4/mlx4_ib.h | 3 +-
drivers/infiniband/hw/mlx4/mr.c | 13 +-
drivers/infiniband/hw/mlx4/qp.c | 84 +-
drivers/infiniband/hw/mlx4/srq.c | 12 +-
drivers/infiniband/hw/mlx5/Kconfig | 1 -
drivers/infiniband/hw/mlx5/cong.c | 15 +-
drivers/infiniband/hw/mlx5/cq.c | 15 +-
drivers/infiniband/hw/mlx5/devx.c | 463 +-
drivers/infiniband/hw/mlx5/doorbell.c | 6 +-
drivers/infiniband/hw/mlx5/ib_rep.c | 6 +-
drivers/infiniband/hw/mlx5/main.c | 249 +-
drivers/infiniband/hw/mlx5/mem.c | 5 +-
drivers/infiniband/hw/mlx5/mlx5_ib.h | 41 +-
drivers/infiniband/hw/mlx5/mr.c | 126 +-
drivers/infiniband/hw/mlx5/odp.c | 316 +-
drivers/infiniband/hw/mlx5/qp.c | 308 +-
drivers/infiniband/hw/mlx5/srq.c | 11 +-
drivers/infiniband/hw/mlx5/srq.h | 2 -
drivers/infiniband/hw/mlx5/srq_cmd.c | 16 +-
drivers/infiniband/hw/mthca/mthca_main.c | 2 +-
drivers/infiniband/hw/mthca/mthca_provider.c | 139 +-
drivers/infiniband/hw/mthca/mthca_qp.c | 13 +-
drivers/infiniband/hw/mthca/mthca_srq.c | 21 +-
drivers/infiniband/hw/nes/Kconfig | 2 +-
drivers/infiniband/hw/nes/nes_verbs.c | 313 +-
drivers/infiniband/hw/nes/nes_verbs.h | 1 -
drivers/infiniband/hw/ocrdma/Makefile | 2 +-
drivers/infiniband/hw/ocrdma/ocrdma_main.c | 12 +-
drivers/infiniband/hw/ocrdma/ocrdma_stats.c | 67 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 189 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.h | 11 +-
drivers/infiniband/hw/qedr/main.c | 9 +-
drivers/infiniband/hw/qedr/qedr_iw_cm.c | 2 +-
drivers/infiniband/hw/qedr/verbs.c | 192 +-
drivers/infiniband/hw/qedr/verbs.h | 10 +-
drivers/infiniband/hw/qib/qib_debugfs.c | 27 +-
drivers/infiniband/hw/qib/qib_rc.c | 7 +-
drivers/infiniband/hw/qib/qib_sdma.c | 26 +-
drivers/infiniband/hw/qib/qib_sysfs.c | 18 +-
drivers/infiniband/hw/qib/qib_ud.c | 6 +-
drivers/infiniband/hw/qib/qib_user_pages.c | 75 +-
drivers/infiniband/hw/qib/qib_verbs.c | 20 +-
drivers/infiniband/hw/usnic/Makefile | 2 +-
drivers/infiniband/hw/usnic/usnic_debugfs.c | 26 -
drivers/infiniband/hw/usnic/usnic_ib_main.c | 57 +-
drivers/infiniband/hw/usnic/usnic_ib_sysfs.c | 26 +-
drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 114 +-
drivers/infiniband/hw/usnic/usnic_ib_verbs.h | 28 +-
drivers/infiniband/hw/usnic/usnic_uiom.c | 65 +-
drivers/infiniband/hw/usnic/usnic_uiom.h | 1 -
drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 2 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_dev_api.h | 15 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 12 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_misc.c | 21 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c | 3 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 6 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c | 4 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c | 98 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 12 +-
drivers/infiniband/sw/rdmavt/mr.c | 21 +-
drivers/infiniband/sw/rdmavt/pd.c | 29 +-
drivers/infiniband/sw/rdmavt/pd.h | 7 +-
drivers/infiniband/sw/rdmavt/qp.c | 104 +-
drivers/infiniband/sw/rdmavt/rc.c | 13 +
drivers/infiniband/sw/rdmavt/srq.c | 5 +-
drivers/infiniband/sw/rdmavt/trace_cq.h | 10 +-
drivers/infiniband/sw/rdmavt/vt.c | 34 +-
drivers/infiniband/sw/rxe/rxe.c | 67 +-
drivers/infiniband/sw/rxe/rxe.h | 16 +-
drivers/infiniband/sw/rxe/rxe_av.c | 7 +
drivers/infiniband/sw/rxe/rxe_comp.c | 6 +-
drivers/infiniband/sw/rxe/rxe_loc.h | 9 +-
drivers/infiniband/sw/rxe/rxe_mr.c | 15 +-
drivers/infiniband/sw/rxe/rxe_net.c | 97 +-
drivers/infiniband/sw/rxe/rxe_net.h | 2 +-
drivers/infiniband/sw/rxe/rxe_param.h | 3 +-
drivers/infiniband/sw/rxe/rxe_pool.c | 77 +-
drivers/infiniband/sw/rxe/rxe_pool.h | 4 +
drivers/infiniband/sw/rxe/rxe_qp.c | 15 +-
drivers/infiniband/sw/rxe/rxe_recv.c | 12 +-
drivers/infiniband/sw/rxe/rxe_resp.c | 3 +-
drivers/infiniband/sw/rxe/rxe_sysfs.c | 40 +-
drivers/infiniband/sw/rxe/rxe_verbs.c | 103 +-
drivers/infiniband/sw/rxe/rxe_verbs.h | 9 +-
drivers/infiniband/ulp/ipoib/ipoib.h | 4 +-
drivers/infiniband/ulp/ipoib/ipoib_fs.c | 7 +-
drivers/infiniband/ulp/ipoib/ipoib_main.c | 14 +-
drivers/infiniband/ulp/iser/iscsi_iser.h | 2 +-
drivers/infiniband/ulp/iser/iser_memory.c | 19 +-
drivers/infiniband/ulp/isert/Makefile | 1 -
drivers/infiniband/ulp/srp/ib_srp.c | 26 +-
drivers/infiniband/ulp/srpt/Makefile | 1 -
drivers/media/pci/intel/ipu3/ipu3-cio2.c | 4 +-
drivers/misc/mic/scif/scif_rma.c | 38 +-
drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 3 -
drivers/net/ethernet/chelsio/cxgb4/t4_msg.h | 8 +
drivers/net/ethernet/chelsio/cxgb4/t4_tcb.h | 12 +
drivers/net/ethernet/mellanox/mlx5/core/main.c | 85 +-
fs/proc/task_mmu.c | 2 +-
include/linux/cgroup_rdma.h | 2 +-
include/linux/mlx5/driver.h | 5 +-
include/linux/mm_types.h | 2 +-
include/linux/scatterlist.h | 49 +-
include/rdma/ib_hdrs.h | 14 +-
include/rdma/ib_mad.h | 5 +-
include/rdma/ib_umem.h | 8 +-
include/rdma/ib_umem_odp.h | 34 +-
include/rdma/ib_verbs.h | 274 +-
include/rdma/iw_cm.h | 16 +-
include/rdma/iw_portmap.h | 144 +-
include/rdma/rdma_cm.h | 1 +
include/rdma/rdma_netlink.h | 11 +
include/rdma/rdma_vt.h | 30 +-
include/rdma/rdmavt_qp.h | 20 +-
include/rdma/restrack.h | 58 +-
include/rdma/tid_rdma_defs.h | 108 +
include/rdma/uverbs_ioctl.h | 18 +
include/rdma/uverbs_std_types.h | 18 +-
include/rdma/uverbs_types.h | 1 +
include/uapi/rdma/bnxt_re-abi.h | 11 +
include/uapi/rdma/ib_user_verbs.h | 2 +
include/uapi/rdma/mlx5_user_ioctl_cmds.h | 18 +
include/uapi/rdma/mlx5_user_ioctl_verbs.h | 5 +
include/uapi/rdma/rdma_netlink.h | 74 +-
include/uapi/rdma/rdma_user_cm.h | 4 +
include/uapi/rdma/rdma_user_rxe.h | 3 +-
kernel/cgroup/rdma.c | 5 +-
kernel/events/core.c | 8 +-
kernel/fork.c | 2 +-
lib/irq_poll.c | 2 +-
lib/scatterlist.c | 26 +
mm/debug.c | 5 +-
net/rds/ib.h | 12 +-
net/rds/ib_fmr.c | 8 +-
net/rds/ib_frmr.c | 4 +-
net/rds/ib_recv.c | 8 +-
net/rds/ib_send.c | 15 +-
264 files changed, 16710 insertions(+), 5014 deletions(-)
(diffstat from tag for-linus-merged)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-02-21 23:07 Jason Gunthorpe
2019-02-22 18:40 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2019-02-21 23:07 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1307 bytes --]
Hi Linus,
Small set of three regression fixing patches, things are looking
pretty good here. Thanks
The following changes since commit 8834f5600cf3c8db365e18a3d5cac2c2780c81e5:
Linux 5.0-rc5 (2019-02-03 13:48:04 -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 f09ef134a7ca3f0d2ce485a757f5b79809ebb803:
iw_cxgb4: cq/qp mask depends on bar2 pages in a host page (2019-02-15 09:39:39 -0700)
----------------------------------------------------------------
Third 5.0 rc pull request
Three smallish patches fixing regressions in v5.0:
- Fix cxgb4 to work again with non-4k page sizes
- NULL pointer oops in SRP during sg_reset
----------------------------------------------------------------
Bart Van Assche (1):
RDMA/srp: Rework SCSI device reset handling
Raju Rangoju (2):
cxgb4: Export sge_host_page_size to ulds
iw_cxgb4: cq/qp mask depends on bar2 pages in a host page
drivers/infiniband/hw/cxgb4/device.c | 15 +++++++++++++--
drivers/infiniband/ulp/srp/ib_srp.c | 10 ----------
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c | 1 +
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h | 1 +
4 files changed, 15 insertions(+), 12 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-02-01 17:41 Jason Gunthorpe
2019-02-01 18:45 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2019-02-01 17:41 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 3449 bytes --]
Hi Linus,
Second rc pull request
Still expecting some more bug fixes for new stuff merged in 5.0, but
at this rate that stuff is looking likely to go into 5.1.
The following changes since commit 49a57857aeea06ca831043acbb0fa5e0f50602fd:
Linux 5.0-rc3 (2019-01-21 13:14:44 +1300)
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 7b21b69ab203136fdc153c7707fa6c409e523c2e:
IB/uverbs: Fix OOPs in uverbs_user_mmap_disassociate (2019-01-29 13:57:22 -0700)
----------------------------------------------------------------
Second 5.0 rc pull request
Still not much going on, the usual set of OOP's and driver updates this time.
- Fix two uapi breakage regressions in mlx5 drivers
- Various oops fixes in hfi1, mlx4, umem, uverbs, and ipoib
- A protocol bug fix for hfi1 preventing it from implementing the verbs
API properly, and a compatability fix for EXEC STACK user programs
- Fix missed refcounting in the 'advise_mr' patches merged this
cycle.
- Fix wrong use of the uABI in the hns SRQ patches merged this cycle.
----------------------------------------------------------------
Artemy Kovalyov (1):
RDMA/umem: Add missing initialization of owning_mm
Brian Welty (1):
IB/{hfi1, qib}: Fix WC.byte_len calculation for UD_SEND_WITH_IMM
Feras Daoud (1):
IB/ipoib: Fix for use-after-free in ipoib_cm_tx_start
Jack Morgenstein (1):
IB/mlx4: Fix using wrong function to destroy sqp AHs under SRIOV
Jason Gunthorpe (2):
RDMA/device: Expose ib_device_try_get(()
IB/mlx5: Fix how advise_mr() launches async work
Lijun Ou (1):
RDMA/hns: Update the kernel header file of hns
Mark Bloch (2):
RDMA/mlx5: Fix check for supported user flags when creating a QP
RDMA/mlx5: Fix flow creation on representors
Michael J. Ruhl (1):
IB/hfi1: Remove overly conservative VM_EXEC flag check
Mike Marciniszyn (1):
IB/hfi1: Add limit test for RC/UC send via loopback
Yishai Hadas (3):
IB/uverbs: Fix OOPs upon device disassociation
IB/uverbs: Fix ioctl query port to consider device disassociation
IB/uverbs: Fix OOPs in uverbs_user_mmap_disassociate
drivers/infiniband/core/core_priv.h | 1 -
drivers/infiniband/core/device.c | 13 +++++++++---
drivers/infiniband/core/umem_odp.c | 3 +++
drivers/infiniband/core/uverbs_main.c | 25 +++++++++++++++--------
drivers/infiniband/core/uverbs_std_types_device.c | 8 +++++++-
drivers/infiniband/hw/hfi1/file_ops.c | 2 +-
drivers/infiniband/hw/hfi1/ud.c | 1 -
drivers/infiniband/hw/hns/hns_roce_srq.c | 10 +++++++--
drivers/infiniband/hw/mlx4/mad.c | 6 +++---
drivers/infiniband/hw/mlx5/flow.c | 3 +--
drivers/infiniband/hw/mlx5/odp.c | 10 ++++-----
drivers/infiniband/hw/mlx5/qp.c | 16 ++++++++-------
drivers/infiniband/hw/qib/qib_ud.c | 1 -
drivers/infiniband/sw/rdmavt/qp.c | 7 ++++++-
drivers/infiniband/ulp/ipoib/ipoib.h | 1 -
drivers/infiniband/ulp/ipoib/ipoib_cm.c | 3 +--
include/rdma/ib_verbs.h | 24 ++++++++++++++++++++--
include/uapi/rdma/hns-abi.h | 5 +++++
18 files changed, 97 insertions(+), 42 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-01-18 3:56 Jason Gunthorpe
2019-01-18 5:35 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2019-01-18 3:56 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 2318 bytes --]
Hi Linus,
Just a small batch of patches for -rc today. Thanks
The following changes since commit bfeffd155283772bbe78c6a05dec7c0128ee500c:
Linux 5.0-rc1 (2019-01-06 17:08:20 -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 d6f4a21f309dfe10a5693ad236358dd6fcc46f7a:
RDMA/uverbs: Mark ioctl responses with UVERBS_ATTR_F_VALID_OUTPUT (2019-01-14 14:02:22 -0700)
----------------------------------------------------------------
First 5.0 rc pull request
Not much so far, but I'm feeling like the 2nd PR -rc will be larger than
this. We have the usual batch of bugs and two fixes to code merged this cycle.
- Restore valgrind support for the ioctl verbs interface merged this window,
and fix a missed error code on an error path from that conversion
- A user reported crash on obsolete mthca hardware
- pvrdma was using the wrong command opcode toward the hypervisor
- NULL pointer crash regression when dumping rdma-cm over netlink
- Be conservative about exposing the global rkey
----------------------------------------------------------------
Adit Ranadive (1):
RDMA/vmw_pvrdma: Return the correct opcode when creating WR
Gal Pressman (1):
RDMA/uverbs: Fix post send success return value in case of error
Jason Gunthorpe (1):
RDMA/uverbs: Mark ioctl responses with UVERBS_ATTR_F_VALID_OUTPUT
Leon Romanovsky (2):
RDMA/nldev: Don't expose unsafe global rkey to regular user
RDMA/mthca: Clear QP objects during their allocation
Steve Wise (1):
RDMA/cma: Add cm_id restrack resource based on kernel or user cm_id type
drivers/infiniband/core/cma.c | 5 ++-
drivers/infiniband/core/nldev.c | 4 --
drivers/infiniband/core/rdma_core.h | 2 +
drivers/infiniband/core/uverbs_cmd.c | 11 ++++-
drivers/infiniband/core/uverbs_ioctl.c | 62 ++++++++++++++++++++++------
drivers/infiniband/core/uverbs_main.c | 1 +
drivers/infiniband/hw/mthca/mthca_provider.c | 4 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma.h | 35 +++++++++++++++-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 6 +++
include/uapi/rdma/vmw_pvrdma-abi.h | 1 +
10 files changed, 109 insertions(+), 22 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2019-01-04 5:00 Jason Gunthorpe
2019-01-06 2:40 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2019-01-04 5:00 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 2197 bytes --]
Hi Linus,
Second merge window pull request
This could also be applied after rc1. It is a small collection of fixes posted
over the holiday break. The merge error with advise_mr is worth fixing right
away so the other, more minor, things are coming along for the ride.
The following changes since commit 5d24ae67a961c51beb255a28c9c417d9710247c2:
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma (2018-12-28 14:57:10 -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 9c6260de505b63638dd86fcc33849b17f6146d94:
infiniband/qedr: Potential null ptr dereference of qp (2019-01-02 16:08:38 -0700)
----------------------------------------------------------------
4.21 merge window 2nd pull request
Over the break a few defects were found, so this is a -rc style pull
request of various small things that have been posted.
- An attempt to shorten RCU grace period driven delays showed crashes
during heavier testing, and has been entirely reverted
- A missed merge/rebase error between the advise_mr and ib_device_ops
series
- Some small static analysis driven fixes from Julia and Aditya
- Missed ability to create a XRC_INI in the devx verbs interop series
----------------------------------------------------------------
Aditya Pakki (2):
infiniband: bnxt_re: qplib: Check the return value of send_message
infiniband/qedr: Potential null ptr dereference of qp
Julia Lawall (1):
IB/ipoib: drop useless LIST_HEAD
Leon Romanovsky (1):
Revert "IB/mlx5: Fix long EEH recover time with NVMe offloads"
Moni Shoua (1):
IB/core: Add advise_mr to the list of known ops
Yishai Hadas (1):
IB/mlx5: Allow XRC INI usage via verbs in DEVX context
drivers/infiniband/core/device.c | 1 +
drivers/infiniband/hw/bnxt_re/qplib_sp.c | 5 ++---
drivers/infiniband/hw/mlx5/mr.c | 19 +++----------------
drivers/infiniband/hw/mlx5/qp.c | 3 ++-
drivers/infiniband/hw/qedr/qedr_iw_cm.c | 2 ++
drivers/infiniband/ulp/ipoib/ipoib_ib.c | 1 -
6 files changed, 10 insertions(+), 21 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-12-24 22:16 Jason Gunthorpe
2018-12-29 1:30 ` pr-tracker-bot
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2018-12-24 22:16 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 35374 bytes --]
Hi Linus,
These are the proposed RDMA patches for 4.21.
There is a conflict with the net tree merged in 4.20 and the Mellanox shared
tree. DaveM has a resolution for this in his net-next tree already, but if you
merge RDMA first, here is the resolution:
struct mlx5_ifc_flow_table_eswitch_cap_bits {
- u8 reserved_at_0[0x1c];
- u8 fdb_multi_path_to_table[0x1];
- u8 reserved_at_1d[0x1];
+ u8 reserved_at_0[0x1a];
u8 multi_fdb_encap[0x1];
- u8 reserved_at_1f[0x1e1];
+ u8 reserved_at_1b[0x1];
+ u8 fdb_multi_path_to_table[0x1];
+ u8 reserved_at_1d[0x3];
+
+ u8 reserved_at_20[0x1e0];
There is also a conflict in -next with the NFS tree, in this case the correct
resolution is to continue to delete net/sunrpc/xprtrdma/fmr_ops.c
Things got a bit busy in a rush up to the US holiday season, so we may see a
busier early -rc cycle, I've seen a few thing that suggest there are some new
bugs now. The major changes to the uapi will hopefully encourage all the
driver maintainer do to early testing.
This PR is generated off v4.20, typically we've waited until net-next is
merged. For this reason you will see below a large number of patches that
duplicate ones in net-next from the Mellanox shared branch.
The tag for-linus-merged with my merge resolution to your tree is also
available to pull.
The following changes since commit 40e020c129cfc991e8ab4736d2665351ffd1468d:
Linux 4.20-rc6 (2018-12-09 15:31:00 -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 f617e5ffe04fd46010b618c9eeadaa04588704c9:
RDMA/srpt: Use kmem_cache_free() instead of kfree() (2018-12-22 16:07:47 -0700)
----------------------------------------------------------------
4.21 merge window pull request
This has been a fairly typical cycle, with the usual sorts of driver
updates. Several series continue to come through which improve and
modernize various parts of the core code, and we finally are starting to
get the uAPI command interface cleaned up.
- Various driver fixes for bnxt_re, cxgb3/4, hfi1, hns, i40iw, mlx4, mlx5,
qib, rxe, usnic
- Rework the entire syscall flow for uverbs to be able to run over
ioctl(). Finally getting past the historic bad choice to use write()
for command execution
- More functional coverage with the mlx5 'devx' user API
- Start of the HFI1 series for 'TID RDMA'
- SRQ support in the hns driver
- Support for new IBTA defined 2x lane widths
- A big series to consolidate all the driver function pointers into
a big struct and have drivers provide a 'static const' version of the
struct instead of open coding initialization
- New 'advise_mr' uAPI to control device caching/loading of page tables
- Support for inline data in SRPT
- Modernize how umad uses the driver core and creates cdev's and sysfs
files
- First steps toward removing 'uobject' from the view of the drivers
----------------------------------------------------------------
Alex Vesker (1):
IB/mlx5: Enable TX on a DEVX flow table
Allen Pais (1):
RDMA/hns: prefer dma_zalloc_coherent to dma_alloc_coherent/memse
Andrew Boyer (2):
RDMA/rxe: Distinguish between down links and disabled links
RDMA/rxe: Add link_down, rdma_sends, rdma_recvs stats counters
Artemy Kovalyov (1):
IB/mlx5: Allow modify AV in DCI QP to RTR
Ashutosh Dixit (1):
IB/hfi1: Consider LMC in 16B/bypass ingress packet check
Bart Van Assche (15):
include/scsi/srp.h: Move response flag definitions into this file
include/scsi/srp.h: Add support for immediate data
RDMA/srp: Document srp_parse_in() arguments
RDMA/srp: Handle large SCSI CDBs correctly
RDMA/srp: Propagate ib_post_send() failures to the SCSI mid-layer
RDMA/srp: Move srp_rdma_ch.max_ti_iu_len declaration
RDMA/srp: Rework handling of the maximum information unit length
RDMA/srp: Add support for immediate data
RDMA/srpt: Fix a use-after-free in the channel release code
RDMA/srpt: Improve coding style conformance
RDMA/srpt: Join split strings
RDMA/srpt: Make kernel-doc headers complete
RDMA/srpt: Remove driver version and release date
RDMA/srpt: Rework the srpt_alloc_srq() error path
RDMA/srpt: Add support for immediate data
Chuck Lever (1):
rxe: IB_WR_REG_MR does not capture MR's iova field
Colin Ian King (3):
IB/qib: fix spelling mistake "colescing" -> "coalescing"
RDMA/drivers: Fix spelling mistake "initalize" -> "initialize"
IB/usnic: fix spelling mistake "miniumum" -> "minimum"
Dan Carpenter (4):
IB/qib: Fix an error code in qib_sdma_verbs_send()
RDMA/hns: Fix an error code in hns_roce_create_srq()
IB/uverbs: Signedness bug in UVERBS_HANDLER()
RDMA/mlx5: Signedness bug in UVERBS_HANDLER()
Daniel Jurgens (1):
net/mlx5: When fetching CQEs return CQE instead of void pointer
Danit Goldberg (3):
net/mlx5: Expose packet based credit mode
IB/mlx5: Add packet based credit mode support
IB/mlx5: Report packet based credit mode device capability
Devesh Sharma (1):
RDMA/bnxt_re: Increase depth of control path command queue
Doug Ledford (4):
Merge branch 'write-handler-consistent-flow' into for-next
Merge 'mlx5-next' into mlx5-devx
Merge branch 'mlx5-devx' into wip/dl-for-next
IB/mlx5: Fix compile issue when ODP disabled
Eli Britstein (3):
net/mlx5: Introduce extended destination fields
net/mlx5: E-Switch, Change vhca id valid bool field to bit flag
net/mlx5: Support extended destination format in flow steering command
Eyal Davidovich (1):
net/mlx5: Add monitor commands layout and event data
Gal Pressman (7):
net/mlx5: Fix offsets of ifc reserved fields
RDMA/vmw_pvrdma: Use atomic memory allocation in create AH
RDMA/mlx5: Fix function name typo 'fileds' -> 'fields'
RDMA: Mark if create address handle is in a sleepable context
RDMA: Mark if destroy address handle is in a sleepable context
RDMA/bnxt_re: Make use of create AH sleepable flag
RDMA/bnxt_re: Make use of destroy AH sleepable flag
Guy Levi (2):
IB/mlx5: Use fragmented SRQ's buffer for in-kernel users
IB/mlx5: Use fragmented QP's buffer for in-kernel users
Huy Nguyen (1):
IB/mlx5: Fix long EEH recover time with NVMe offloads
Jason Gunthorpe (38):
Merge branch 'mlx5-next' into rdma.git
RDMA/mlx5: Do not generate the uabi specs unconditionally
RDMA/uverbs: Use a linear list to describe the compiled-in uapi
RDMA/uverbs: Factor out the add/get pattern into a helper
RDMA/uverbs: Add helpers to mark uapi functions as unsupported
RDMA/mlx5: Use the uapi disablement APIs instead of code
RDMA/uverbs: Require all objects to have a driver destroy function
RDMA/verbs: Store the write/write_ex uapi entry points in the uverbs_api
RDMA/uverbs: Convert the write interface to use uverbs_api
RDMA/uverbs: Make all the method functions in uverbs_cmd static
RDMA/uverbs: Check for NULL driver methods for every write call
RDMA/uverbs: Add missing driver_data
RDMA/uverbs: Replace ib_uverbs_file with uverbs_attr_bundle for write
RDMA/uverbs: Make write() handlers return 0 on success
RDMA/uverbs: Do not pass ib_uverbs_file to ioctl methods
RDMA/uverbs: Add structure size info to write commands
RDMA/uverbs: Prohibit write() calls with too small buffers
RDMA/uverbs: Use uverbs_attr_bundle to pass udata for write_ex
RDMA/uverbs: Use uverbs_attr_bundle to pass udata for write
RDMA/uverbs: Use uverbs_attr_bundle to pass udata for ioctl()
RDMA/uverbs: Remove out_len checks that are now done by the core
RDMA/uverbs: Use uverbs_attr_bundle to pass ucore for write/write_ex
RDMA/uverbs: Get rid of the 'callback' scheme in the compat path
RDMA/uverbs: Use uverbs_response() for remaining response copying
RDMA/uverbs: Use uverbs_request() for request copying
RDMA/uverbs: Use uverbs_request() and core for write_ex handlers
RDMA/uverbs: Fill in the response for IB_USER_VERBS_EX_CMD_MODIFY_QP
RDMA/uverbs: Simplify ib_uverbs_ex_query_device
RDMA/uverbs: Add a simple iterator interface for reading the command
RDMA/uverbs: Use the iterator for ib_uverbs_unmarshall_recv()
RDMA/uverbs: Do not check the input length on create_cq/qp paths
RDMA/uverbs: Use only attrs for the write() handler signature
Merge branch 'mlx5-packet-credit-fc' into rdma.git
Merge tag 'v4.20-rc6' into rdma.git for-next
RDMA/uverbs: Implement an ioctl that can call write and write_ex handlers
RDMA/uverbs: Add a method to introspect handles in a context
Merge branch 'mlx5-next' into rdma.git
IB/mlx5: Fix wrong error unwind
Kaike Wan (4):
IB/hfi1: Dump pio info for non-user send contexts
IB/hfi1: Ignore LNI errors before DC8051 transitions to Polling state
IB/hfi1: Unreserve a reserved request when it is completed
IB/hfi1: Add OPFN and TID RDMA capability bits
Kamal Heib (20):
RDMA/core: Introduce ib_device_ops
RDMA/bnxt_re: Initialize ib_device_ops struct
RDMA/cxgb3: Initialize ib_device_ops struct
RDMA/cxgb4: Initialize ib_device_ops struct
RDMA/hfi1: Initialize ib_device_ops struct
RDMA/hns: Initialize ib_device_ops struct
RDMA/i40iw: Initialize ib_device_ops struct
RDMA/mlx4: Initialize ib_device_ops struct
RDMA/mlx5: Initialize ib_device_ops struct
RDMA/mthca: Initialize ib_device_ops struct
RDMA/nes: Initialize ib_device_ops struct
RDMA/ocrdma: Initialize ib_device_ops struct
RDMA/qedr: Initialize ib_device_ops struct
RDMA/qib: Initialize ib_device_ops struct
RDMA/usnic: Initialize ib_device_ops struct
RDMA/vmw_pvrdma: Initialize ib_device_ops struct
RDMA/rxe: Initialize ib_device_ops struct
RDMA/rdmavt: Initialize ib_device_ops struct
RDMA: Start use ib_device_ops
RDMA/i40iw: Make sure to initialize ib_device_ops
Leon Romanovsky (22):
RDMA/qib: Remove all occurrences of BUG_ON()
RDMA/restrack: Track ucontext
RDMA/uverbs: Annotate alloc/deallloc paths with context tracking
RDMA/nldev: Export to user space number of contexts
net/mlx5: Align SRQ licenses and copyright information
net/mlx5: Remove dead transobj code
net/mlx5: Remove not-used lib/eq.h header file
net/mlx5: Remove references to local mlx5_core functions
net/mlx5: Move SRQ functions to RDMA part
RDMA/mlx5: Remove SRQ signature global flag
RDMA/mlx5: Use stages for callback to setup and release DEVX
RDMA/mlx5: Update SRQ functions signatures to mlx5_ib format
RDMA/mlx5: Initialize SRQ tables on mlx5_ib
RDMA/mlx5: Unfold create RMP function
RDMA/mlx5: Unfold modify RMP function
RDMA/uverbs: Fix typo in string concatenation macro
RDMA/mlx5: Fail early if user tries to create flows on IB representors
RDMA/uverbs: Optimize clearing of extra bytes in response
RDMA/ocrdma: Use PCI-ID as an identification in debugfs
net/mlx5: Continue driver initialization despite debugfs failure
RDMA/mlx5: Delete unreachable handle_atomic code by simplifying SW completion
net/mlx5: Add shared Q counter bits
Lijun Ou (9):
RDMA/hns: Eanble SRQ capacity for hip08
RDMA/hns: Init SRQ table for hip08
RDMA/hns: Add SRQ support for hip08 kernel mode
RDMA/hns: Add SRQ asynchronous event support
RDMA/hns: Init qp context when modify qp from reset to init
RDMA/hns: Encapsulate and simplify qp state transition
RDMA/hns: Fix the bug while use multi-hop of pbl
RDMA/hns: Update posting & querying mailbox
RDMA/hns: Bugfix for RoCE loopback test
Mark Bloch (2):
RDMA/mlx5: Attach a DEVX counter via raw flow creation
IB/mlx5: Unify e-switch representors load approach between uplink and VFs
Michael Guralnik (9):
IB/core: Add CapabilityMask2 to port attributes
IB/core: Add 2X port width
IB/core: Add new IB rates
IB/mlx5: Report CapabilityMask2 in ib_query_port
IB/mlx5: Add HDR speed support to query port
IB/mlx5: Add 2X width support to query_port
IB/core: uverbs copy to struct or zero helper
RDMA/nldev: Expose port_cap_flags2
IB/core: Move query port to ioctl
Michael J. Ruhl (2):
IB/hfi1: Limit VNIC use of SDMA engines to the available count
IB/hfi1: Incorrect sizing of sge for PIO will OOPs
Mike Marciniszyn (3):
IB/hfi1: Allow the driver to initialize QP priv struct
IB/hfi1: Close VNIC sdma_progress sleep window
IB/hfi1: Reduce lock contention on iowait_lock for sdma and pio
Mikhael Goikhman (3):
net/mlx5: Rework handling of port module events
net/mlx5: Add support for PCIe power slot exceeded error in PME
net/mlx5: Add support for plugged-disabled cable status in PME
Mitko Haralanov (1):
IB/hfi1: Correctly process FECN and BECN in packets
Moni Shoua (10):
net/mlx5: Release resource on error flow
net/mlx5: Add interface to hold and release core resources
net/mlx5: Enumerate page fault types
IB/mlx5: Lock QP during page fault handling
net/mlx5: Return success for PAGE_FAULT_RESUME in internal error state
net/mlx5: Use multi threaded workqueue for page fault handling
IB/mlx5: Improve ODP debugging messages
IB/uverbs: Add helper to get array size from ptr attribute
IB/uverbs: Add support to advise_mr
IB/mlx5: Add advise_mr() support
Or Gerlitz (2):
net/mlx5: Remove the get protocol device interface entry
IB/mlx5: Simplify netdev unbinding
Oz Shlomo (1):
net/mlx5: Revise gre and nvgre key formats
Parav Pandit (11):
RDMA/core: Remove unused header files mm.h, socket.h, scatterlist.h
RDMA/cma: Move cma module specific functions to cma_priv.h
RDMA/core: Sync unregistration with netlink commands
RDMA/core: Delete RoCE GID in hw when corresponding IP is deleted
RDMA/uverbs: Add an ioctl method to destroy an object
IB/rxe: Make counters thread safe
IB/umad: Simplify and avoid dynamic allocation of class
IB/umad: Avoid destroying device while it is accessed
IB/umad: Refactor code to use cdev_device_add()
IB/umad: Use class_groups and let core create class file
IB/umad: Start using dev_groups of class
Parvi Kaustubhi (2):
MAINTAINERS: Update usnic driver maintainers
IB/usnic: Fix potential deadlock
Qian Cai (1):
mlx4: Use snprintf instead of complicated strcpy
Rami Rosen (1):
IB/uverbs: fix a typo
Roi Dayan (2):
net/mlx5: Split the activate lag function into two routines
net/mlx5: Add lag affinity info to log
Sabyasachi Gupta (2):
infiniband/hw/cxgb3/cxio_hal.c: Use dma_zalloc_coherent
infiniband/hw/cxgb4/qp.c: Use dma_zalloc_coherent
Saeed Mahameed (38):
net/mlx5: EQ, Use the right place to store/read IRQ affinity hint
net/mlx5: EQ, Remove unused fields and structures
net/mlx5: EQ, No need to store eq index as a field
net/mlx5: EQ, Remove redundant completion EQ list lock
net/mlx5: EQ, Move all EQ logic to eq.c
net/mlx5: EQ, Create all EQs in one place
net/mlx5: EQ, irq_info and rmap belong to eq_table
net/mlx5: EQ, Privatize eq_table and friends
net/mlx5: EQ, Different EQ types
net/mlx5: EQ, Generic EQ
{net,IB}/mlx5: Move Page fault EQ and ODP logic to RDMA
net/mlx5: EQ, Make EQE access methods inline
net/mlx5: EQ, Introduce atomic notifier chain subscription API
net/mlx5: FWTrace, Use async events chain
net/mlx5: FPGA, Use async events chain
net/mlx5: Clock, Use async events chain
net/mlx5: E-Switch, Use async events chain
net/mlx5: FWPage, Use async events chain
net/mlx5: CmdIF, Use async events chain
net/mlx5: Resource tables, Use async events chain
net/mlx5: CQ ERR, Use async events chain
net/mlx5: Device events, Use async events chain
net/mlx5: Improve core device events handling
net/mlx5: Driver events notifier API
net/mlx5: Allow port change event to be forwarded to driver notifiers chain
net/mlx5e: Use the new mlx5 core notifier API
net/mlx5: Forward all mlx5 events to mlx5 notifiers chain
IB/mlx5: Use the new mlx5 core notifier API
net/mlx5: Remove unused events callback and logic
IB/mlx5: Handle raw port change event rather than the software version
net/mlx5: Allow forwarding event type general event as is
IB/mlx5: Handle raw delay drop general event
net/mlx5: Remove all deprecated software versions of FW events
net/mlx5: Forward QP/WorkQueues resource events
net/mlx5: Forward SRQ resource events
net/mlx5: Debug print for forwarded async events
net/mlx5: Move flow counters data structures from flow steering header
net/mlx5: Use lowercase 'X' for hex values
Sagi Grimberg (3):
rxe: fix error completion wr_id and qp_num
mlx5: remove support for ib_get_vector_affinity
i40iw: remove support for ib_get_vector_affinity
Selvin Xavier (1):
RDMA/bnxt_re: Query HWRM Interface version from FW
Shahar Klein (2):
net/mlx5: E-Switch, Introduce flow counter affinity
net/mlx5: Fold the modify lag code into function
Shamir Rabinovitch (2):
RDMA/restrack: Resource-tracker should not use uobject pointers
RDMA: Cleanup undesired pd->uobject usage
Steve Wise (2):
iw_cxgb4: only reconnect with MPAv1 if the peer aborts
RDMA/iwcm: Don't copy past the end of dev_name() string
Tariq Toukan (2):
net/mlx5: Use helper to get CQE opcode
IB/mlx5: Use helper to get CQE opcode
Ursula Braun (1):
mlx4: trigger IB events needed by SMC
Wei Yongjun (1):
RDMA/srpt: Use kmem_cache_free() instead of kfree()
Yishai Hadas (11):
net/mlx5: Update mlx5_ifc with DEVX UCTX capabilities bits
IB/core: Introduce UVERBS_IDR_ANY_OBJECT
IB/core: Enable getting an object type from a given uobject
IB/mlx5: Enable modify and query verbs objects via DEVX
IB/mlx5: Enforce DEVX privilege by firmware
IB/mlx5: Update the supported DEVX commands
IB/mlx5: Allow XRC usage via verbs in DEVX context
IB/mlx5: Introduce uid as part of alloc/dealloc transport domain
IB/mlx5: Use uid as part of alloc/dealloc transport domain
IB/mlx5: Use the correct commands for UMEM and UCTX allocation
IB/mlx5: Allocate the per-port Q counter shared when DEVX is supported
Yue Haibing (1):
IB/srpt: Drop pointless static qualifier in srpt_make_tpg()
YueHaibing (3):
IB/mlx5: Remove duplicated include from mlx5_ib.h
net/mlx5: Remove duplicated include from eswitch.c
IB/mlx4: Remove set but not used variable 'pd'
Yuval Shaia (9):
IB/core: Make function ib_fmr_pool_unmap return void
IB/rxe: Make function rxe_pool_cleanup return void
IB/rxe: Utilize generic function to validate port number
RDMA/core: Validate port number in query_pkey verb
IB/rxe: Fix incorrect cache cleanup in error flow
IB/{mlx5,ocrdma,qedr,rxe}: Omit port validation from IB verbs
IB/mlx4: Remove unneeded NULL check
IB/mlx4: Utilize macro to calculate SQ spare size
IB/rxe: Reuse code which sets port state
Zhu Yanjun (3):
IB/rxe: clean skb queue directly
IB/rxe: move the variable into the function that uses it
IB/rxe: make rxe_unregister_device void
kbuild test robot (1):
RDMA/uverbs: fix ptr_ret.cocci warnings
MAINTAINERS | 2 +
drivers/infiniband/core/Makefile | 2 +-
drivers/infiniband/core/agent.c | 4 +-
drivers/infiniband/core/cache.c | 17 +-
drivers/infiniband/core/cm.c | 6 +-
drivers/infiniband/core/cma.c | 2 +-
drivers/infiniband/core/cma_configfs.c | 3 +
drivers/infiniband/core/cma_priv.h | 28 +
drivers/infiniband/core/core_priv.h | 47 +-
drivers/infiniband/core/cq.c | 8 +-
drivers/infiniband/core/device.c | 166 +-
drivers/infiniband/core/fmr_pool.c | 8 +-
drivers/infiniband/core/iwcm.c | 12 +-
drivers/infiniband/core/mad.c | 22 +-
drivers/infiniband/core/mad_rmpp.c | 11 +-
drivers/infiniband/core/nldev.c | 34 +-
drivers/infiniband/core/opa_smi.h | 4 +-
drivers/infiniband/core/rdma_core.c | 54 +-
drivers/infiniband/core/rdma_core.h | 79 +-
drivers/infiniband/core/restrack.c | 51 +-
drivers/infiniband/core/sa_query.c | 5 +-
drivers/infiniband/core/security.c | 8 +-
drivers/infiniband/core/smi.h | 4 +-
drivers/infiniband/core/sysfs.c | 28 +-
drivers/infiniband/core/ucm.c | 2 +-
drivers/infiniband/core/umem_odp.c | 14 +-
drivers/infiniband/core/user_mad.c | 244 +--
drivers/infiniband/core/uverbs.h | 86 +-
drivers/infiniband/core/uverbs_cmd.c | 2074 ++++++++++----------
drivers/infiniband/core/uverbs_ioctl.c | 59 +-
drivers/infiniband/core/uverbs_main.c | 242 +--
drivers/infiniband/core/uverbs_std_types.c | 118 +-
.../infiniband/core/uverbs_std_types_counters.c | 20 +-
drivers/infiniband/core/uverbs_std_types_cq.c | 23 +-
drivers/infiniband/core/uverbs_std_types_device.c | 224 +++
drivers/infiniband/core/uverbs_std_types_dm.c | 17 +-
.../infiniband/core/uverbs_std_types_flow_action.c | 31 +-
drivers/infiniband/core/uverbs_std_types_mr.c | 76 +-
drivers/infiniband/core/uverbs_uapi.c | 514 ++++-
drivers/infiniband/core/verbs.c | 194 +-
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 17 +-
drivers/infiniband/hw/bnxt_re/ib_verbs.h | 3 +-
drivers/infiniband/hw/bnxt_re/main.c | 128 +-
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 34 +-
drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 59 +-
drivers/infiniband/hw/bnxt_re/qplib_res.h | 1 +
drivers/infiniband/hw/bnxt_re/qplib_sp.c | 10 +-
drivers/infiniband/hw/bnxt_re/qplib_sp.h | 6 +-
drivers/infiniband/hw/cxgb3/cxio_hal.c | 3 +-
drivers/infiniband/hw/cxgb3/iwch_provider.c | 66 +-
drivers/infiniband/hw/cxgb4/cm.c | 3 +-
drivers/infiniband/hw/cxgb4/provider.c | 74 +-
drivers/infiniband/hw/cxgb4/qp.c | 7 +-
drivers/infiniband/hw/hfi1/Makefile | 1 +
drivers/infiniband/hw/hfi1/chip.c | 47 +-
drivers/infiniband/hw/hfi1/chip_registers.h | 4 +
drivers/infiniband/hw/hfi1/common.h | 19 +-
drivers/infiniband/hw/hfi1/debugfs.c | 49 +
drivers/infiniband/hw/hfi1/driver.c | 72 +-
drivers/infiniband/hw/hfi1/hfi.h | 35 +-
drivers/infiniband/hw/hfi1/mad.c | 2 +-
drivers/infiniband/hw/hfi1/pio.c | 31 +-
drivers/infiniband/hw/hfi1/pio.h | 5 +
drivers/infiniband/hw/hfi1/qp.c | 20 +-
drivers/infiniband/hw/hfi1/rc.c | 32 +-
drivers/infiniband/hw/hfi1/sdma.c | 10 +-
drivers/infiniband/hw/hfi1/sdma.h | 1 +
drivers/infiniband/hw/hfi1/tid_rdma.c | 48 +
drivers/infiniband/hw/hfi1/tid_rdma.h | 13 +
drivers/infiniband/hw/hfi1/uc.c | 2 +-
drivers/infiniband/hw/hfi1/ud.c | 33 +-
drivers/infiniband/hw/hfi1/user_sdma.c | 5 +-
drivers/infiniband/hw/hfi1/verbs.c | 28 +-
drivers/infiniband/hw/hfi1/verbs.h | 2 +
drivers/infiniband/hw/hfi1/vnic_main.c | 4 +-
drivers/infiniband/hw/hfi1/vnic_sdma.c | 18 +-
drivers/infiniband/hw/hns/Makefile | 2 +-
drivers/infiniband/hw/hns/hns_roce_ah.c | 3 +-
drivers/infiniband/hw/hns/hns_roce_alloc.c | 2 +
drivers/infiniband/hw/hns/hns_roce_cmd.h | 4 +
drivers/infiniband/hw/hns/hns_roce_common.h | 3 -
drivers/infiniband/hw/hns/hns_roce_device.h | 97 +-
drivers/infiniband/hw/hns/hns_roce_hem.c | 41 +-
drivers/infiniband/hw/hns/hns_roce_hem.h | 2 +
drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 13 +-
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 574 +++++-
drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 142 +-
drivers/infiniband/hw/hns/hns_roce_main.c | 185 +-
drivers/infiniband/hw/hns/hns_roce_mr.c | 141 +-
drivers/infiniband/hw/hns/hns_roce_qp.c | 37 +-
drivers/infiniband/hw/hns/hns_roce_srq.c | 457 +++++
drivers/infiniband/hw/i40iw/i40iw_cm.c | 2 +-
drivers/infiniband/hw/i40iw/i40iw_verbs.c | 127 +-
drivers/infiniband/hw/mlx4/ah.c | 6 +-
drivers/infiniband/hw/mlx4/alias_GUID.c | 2 +-
drivers/infiniband/hw/mlx4/mad.c | 28 +-
drivers/infiniband/hw/mlx4/main.c | 205 +-
drivers/infiniband/hw/mlx4/mlx4_ib.h | 5 +-
drivers/infiniband/hw/mlx4/qp.c | 31 +-
drivers/infiniband/hw/mlx4/srq.c | 10 +-
drivers/infiniband/hw/mlx4/sysfs.c | 12 +-
drivers/infiniband/hw/mlx5/Makefile | 4 +-
drivers/infiniband/hw/mlx5/ah.c | 4 +-
drivers/infiniband/hw/mlx5/cmd.c | 19 +
drivers/infiniband/hw/mlx5/cmd.h | 2 +
drivers/infiniband/hw/mlx5/cq.c | 114 +-
drivers/infiniband/hw/mlx5/devx.c | 233 ++-
drivers/infiniband/hw/mlx5/flow.c | 73 +-
drivers/infiniband/hw/mlx5/ib_rep.c | 15 +-
drivers/infiniband/hw/mlx5/mad.c | 18 +-
drivers/infiniband/hw/mlx5/main.c | 602 +++---
drivers/infiniband/hw/mlx5/mlx5_ib.h | 77 +-
drivers/infiniband/hw/mlx5/mr.c | 42 +-
drivers/infiniband/hw/mlx5/odp.c | 454 ++++-
drivers/infiniband/hw/mlx5/qp.c | 447 +++--
drivers/infiniband/hw/mlx5/srq.c | 73 +-
drivers/infiniband/hw/mlx5/srq.h | 73 +
.../core/srq.c => infiniband/hw/mlx5/srq_cmd.c} | 302 +--
drivers/infiniband/hw/mthca/mthca_dev.h | 9 +-
drivers/infiniband/hw/mthca/mthca_mad.c | 7 +-
drivers/infiniband/hw/mthca/mthca_provider.c | 158 +-
drivers/infiniband/hw/mthca/mthca_qp.c | 22 +-
drivers/infiniband/hw/mthca/mthca_srq.c | 29 +-
drivers/infiniband/hw/nes/nes_cm.c | 2 +-
drivers/infiniband/hw/nes/nes_verbs.c | 71 +-
drivers/infiniband/hw/ocrdma/ocrdma_ah.c | 4 +-
drivers/infiniband/hw/ocrdma/ocrdma_ah.h | 4 +-
drivers/infiniband/hw/ocrdma/ocrdma_main.c | 92 +-
drivers/infiniband/hw/ocrdma/ocrdma_stats.c | 5 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 19 +-
drivers/infiniband/hw/qedr/main.c | 103 +-
drivers/infiniband/hw/qedr/verbs.c | 25 +-
drivers/infiniband/hw/qedr/verbs.h | 4 +-
drivers/infiniband/hw/qib/qib_iba6120.c | 1 -
drivers/infiniband/hw/qib/qib_iba7220.c | 2 -
drivers/infiniband/hw/qib/qib_iba7322.c | 3 -
drivers/infiniband/hw/qib/qib_init.c | 1 -
drivers/infiniband/hw/qib/qib_mad.c | 3 +-
drivers/infiniband/hw/qib/qib_pcie.c | 2 +-
drivers/infiniband/hw/qib/qib_sdma.c | 5 +-
drivers/infiniband/hw/qib/qib_ud.c | 1 -
drivers/infiniband/hw/qib/qib_user_sdma.c | 1 -
drivers/infiniband/hw/qib/qib_verbs.c | 13 +-
drivers/infiniband/hw/usnic/usnic_ib_main.c | 63 +-
drivers/infiniband/hw/usnic/usnic_ib_qp_grp.c | 2 +-
drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 14 +-
drivers/infiniband/hw/usnic/usnic_ib_verbs.h | 3 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 82 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 2 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c | 2 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c | 8 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 4 +-
drivers/infiniband/sw/rdmavt/ah.c | 5 +-
drivers/infiniband/sw/rdmavt/ah.h | 3 +-
drivers/infiniband/sw/rdmavt/mad.c | 3 +-
drivers/infiniband/sw/rdmavt/qp.c | 9 +-
drivers/infiniband/sw/rdmavt/vt.c | 299 +--
drivers/infiniband/sw/rxe/rxe.h | 6 +-
drivers/infiniband/sw/rxe/rxe_comp.c | 6 +
drivers/infiniband/sw/rxe/rxe_hw_counters.c | 9 +-
drivers/infiniband/sw/rxe/rxe_hw_counters.h | 3 +
drivers/infiniband/sw/rxe/rxe_loc.h | 7 +-
drivers/infiniband/sw/rxe/rxe_net.c | 16 +-
drivers/infiniband/sw/rxe/rxe_pool.c | 30 +-
drivers/infiniband/sw/rxe/rxe_pool.h | 2 +-
drivers/infiniband/sw/rxe/rxe_qp.c | 11 +-
drivers/infiniband/sw/rxe/rxe_req.c | 3 +-
drivers/infiniband/sw/rxe/rxe_resp.c | 33 +-
drivers/infiniband/sw/rxe/rxe_sysfs.c | 18 +-
drivers/infiniband/sw/rxe/rxe_verbs.c | 129 +-
drivers/infiniband/sw/rxe/rxe_verbs.h | 8 +-
drivers/infiniband/ulp/ipoib/ipoib_ib.c | 4 +-
drivers/infiniband/ulp/ipoib/ipoib_main.c | 4 +-
drivers/infiniband/ulp/iser/iser_memory.c | 9 +-
drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c | 8 +-
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c | 8 +-
drivers/infiniband/ulp/srp/ib_srp.c | 159 +-
drivers/infiniband/ulp/srp/ib_srp.h | 20 +-
drivers/infiniband/ulp/srpt/ib_srpt.c | 283 ++-
drivers/infiniband/ulp/srpt/ib_srpt.h | 44 +-
drivers/net/ethernet/mellanox/mlx5/core/Makefile | 4 +-
drivers/net/ethernet/mellanox/mlx5/core/cmd.c | 54 +-
drivers/net/ethernet/mellanox/mlx5/core/cq.c | 15 +-
drivers/net/ethernet/mellanox/mlx5/core/debugfs.c | 11 +
drivers/net/ethernet/mellanox/mlx5/core/dev.c | 162 +-
.../mellanox/mlx5/core/diag/fs_tracepoint.c | 8 +-
.../ethernet/mellanox/mlx5/core/diag/fw_tracer.c | 27 +-
.../ethernet/mellanox/mlx5/core/diag/fw_tracer.h | 2 +-
drivers/net/ethernet/mellanox/mlx5/core/en.h | 6 +-
drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 51 +-
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c | 10 +-
drivers/net/ethernet/mellanox/mlx5/core/en_stats.c | 17 +-
drivers/net/ethernet/mellanox/mlx5/core/en_tx.c | 2 +-
drivers/net/ethernet/mellanox/mlx5/core/eq.c | 1260 ++++++------
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 44 +-
drivers/net/ethernet/mellanox/mlx5/core/eswitch.h | 3 +-
.../ethernet/mellanox/mlx5/core/eswitch_offloads.c | 8 +-
drivers/net/ethernet/mellanox/mlx5/core/events.c | 325 +++
.../net/ethernet/mellanox/mlx5/core/fpga/conn.c | 2 +-
.../net/ethernet/mellanox/mlx5/core/fpga/core.c | 38 +-
.../net/ethernet/mellanox/mlx5/core/fpga/core.h | 11 +-
drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c | 83 +-
drivers/net/ethernet/mellanox/mlx5/core/fs_core.h | 23 -
.../net/ethernet/mellanox/mlx5/core/fs_counters.c | 23 +
drivers/net/ethernet/mellanox/mlx5/core/health.c | 29 +-
drivers/net/ethernet/mellanox/mlx5/core/lag.c | 59 +-
.../net/ethernet/mellanox/mlx5/core/lib/clock.c | 24 +-
.../net/ethernet/mellanox/mlx5/core/lib/clock.h | 3 -
drivers/net/ethernet/mellanox/mlx5/core/lib/eq.h | 98 +
drivers/net/ethernet/mellanox/mlx5/core/lib/mlx5.h | 36 +
drivers/net/ethernet/mellanox/mlx5/core/main.c | 351 +---
.../net/ethernet/mellanox/mlx5/core/mlx5_core.h | 39 +-
.../net/ethernet/mellanox/mlx5/core/pagealloc.c | 44 +-
drivers/net/ethernet/mellanox/mlx5/core/port.c | 57 -
drivers/net/ethernet/mellanox/mlx5/core/qp.c | 86 +-
drivers/net/ethernet/mellanox/mlx5/core/transobj.c | 109 -
drivers/net/ethernet/mellanox/mlx5/core/wq.h | 2 +-
fs/cifs/smbdirect.c | 2 +-
include/linux/mlx5/cq.h | 2 +-
include/linux/mlx5/device.h | 23 +-
include/linux/mlx5/driver.h | 254 +--
include/linux/mlx5/eq.h | 72 +
include/linux/mlx5/fs.h | 8 +-
include/linux/mlx5/mlx5_ifc.h | 229 ++-
include/linux/mlx5/port.h | 3 -
include/linux/mlx5/qp.h | 5 +
include/linux/mlx5/srq.h | 72 -
include/linux/mlx5/transobj.h | 11 -
include/rdma/ib_fmr_pool.h | 2 +-
include/rdma/ib_mad.h | 10 +
include/rdma/ib_verbs.h | 584 +++---
include/rdma/rdma_vt.h | 7 +
include/rdma/restrack.h | 17 +-
include/rdma/uverbs_ioctl.h | 251 ++-
include/rdma/uverbs_named_ioctl.h | 13 +-
include/rdma/uverbs_std_types.h | 73 +-
include/scsi/srp.h | 26 +-
include/uapi/rdma/hfi/hfi1_user.h | 6 +-
include/uapi/rdma/hns-abi.h | 6 +
include/uapi/rdma/ib_user_ioctl_cmds.h | 84 +
include/uapi/rdma/ib_user_ioctl_verbs.h | 16 +
include/uapi/rdma/ib_user_verbs.h | 18 +-
include/uapi/rdma/mlx5-abi.h | 2 +
include/uapi/rdma/mlx5_user_ioctl_cmds.h | 1 +
include/uapi/rdma/rdma_netlink.h | 3 +
net/rds/ib.c | 4 +-
net/sunrpc/xprtrdma/fmr_ops.c | 2 +-
247 files changed, 10427 insertions(+), 6528 deletions(-)
(diffstat from tag for-linus-merged)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-11-29 22:52 Jason Gunthorpe
0 siblings, 0 replies; 149+ messages in thread
From: Jason Gunthorpe @ 2018-11-29 22:52 UTC (permalink / raw)
To: Linus Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 2945 bytes --]
Hi Linus,
First rc pull request
This is a bit later than usual for our first -rc but I'm not seeing
anything worry-some in the RDMA tree right now. Quiet so far this -rc
cycle, only a few internal driver related bugs and a small series
fixing ODP bugs found by more advanced testing.
The following changes since commit 651022382c7f8da46cb4872a545ee1da6d097d2a:
Linux 4.20-rc1 (2018-11-04 15:37:52 -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 7bca603a69c0c239654a8f0bcb99e1a60b30040c:
RDMA/mlx5: Initialize return variable in case pagefault was skipped (2018-11-29 15:16:45 -0700)
----------------------------------------------------------------
First rc pull request
A set of small driver and core code fixes:
- Small series fixing longtime user triggerable bugs in the
ODP processing inside mlx5 and core code
- Various small driver malfunctions and crashes (use after, free, error
unwind, implementation bugs)
- A misfunction of the RDMA GID cache that can be triggered by the
administrator
----------------------------------------------------------------
Artemy Kovalyov (3):
IB/mlx5: Skip non-ODP MR when handling a page fault
IB/umem: Set correct address to the invalidation function
IB/mlx5: Fix page fault handling for MW
Kamal Heib (1):
RDMA/rdmavt: Fix rvt_create_ah function signature
Leon Romanovsky (1):
RDMA/mlx5: Initialize return variable in case pagefault was skipped
Majd Dibbiny (1):
RDMA/mlx5: Fix fence type for IB_WR_LOCAL_INV WR
Michael Guralnik (1):
IB/mlx5: Avoid load failure due to unknown link width
Parav Pandit (1):
RDMA/core: Add GIDs while changing MAC addr only for registered ndev
Sagi Grimberg (1):
iser: set sector for ambiguous mr status errors
Selvin Xavier (2):
RDMA/bnxt_re: Fix system hang when registration with L2 driver fails
RDMA/bnxt_re: Avoid accessing the device structure after it is freed
Yishai Hadas (1):
net/mlx5: Fix XRC SRQ umem valid bits
Yixian Liu (1):
RDMA/hns: Bugfix pbl configuration for rereg mr
Yonatan Cohen (1):
IB/mlx5: Fix XRC QP support after introducing extended atomic
drivers/infiniband/core/roce_gid_mgmt.c | 6 +-
drivers/infiniband/core/umem_odp.c | 20 ++---
drivers/infiniband/hw/bnxt_re/main.c | 3 +
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 128 ++++++++++++++---------------
drivers/infiniband/hw/mlx5/main.c | 29 +++----
drivers/infiniband/hw/mlx5/odp.c | 10 +++
drivers/infiniband/hw/mlx5/qp.c | 22 ++---
drivers/infiniband/sw/rdmavt/ah.c | 4 +-
drivers/infiniband/sw/rdmavt/ah.h | 3 +-
drivers/infiniband/ulp/iser/iser_verbs.c | 7 +-
include/linux/mlx5/mlx5_ifc.h | 12 ++-
11 files changed, 121 insertions(+), 123 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-10-25 21:21 Jason Gunthorpe
2018-10-26 14:50 ` Linus Torvalds
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2018-10-25 21:21 UTC (permalink / raw)
To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 31267 bytes --]
Hi Linus,
Here are the RDMA patches for 4.20.
This time there is one simple git contextual conflict and a conflict
that causes a compile failure. The latter is fixed with this patch:
diff --git a/drivers/infiniband/hw/mlx5/flow.c b/drivers/infiniband/hw/mlx5/flow.c
index e57435cb6d96..f86cdcafdafc 100644
--- a/drivers/infiniband/hw/mlx5/flow.c
+++ b/drivers/infiniband/hw/mlx5/flow.c
@@ -160,7 +160,7 @@ static int UVERBS_HANDLER(MLX5_IB_METHOD_CREATE_FLOW)(
ret = -EINVAL;
goto err_out;
}
- flow_act.has_flow_tag = true;
+ flow_act.flags |= FLOW_ACT_HAS_TAG;
}
flow_handler = mlx5_ib_raw_fs_rule_add(dev, fs_matcher, &flow_act,
This appears to have arisen because a patch was sent to netdev
changing infiniband code that should have gone to the shared tree. The
appropriate people have been reminded about the process.
Otherwise it has been a reasonable cycle here with not too much major
change.
This pull request is following your recommendation from 4.19, the
for-linus tag has no merge, a for-linus-merged tag has my merge
resolution for your reference, and the diffstat below has been
replaced with the diffstat from the for-linus-merged tag.
The following changes since commit 94a04d1d3d3681adde1a3e022b25dbac7b345b7e:
net/mlx5: Expose DC scatter to CQE capability bit (2018-10-16 21:55:29 +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 a60109dc9a954ef9eddba6577e2d2e9e7952e487:
IB/mlx5: Add support for extended atomic operations (2018-10-17 11:53:23 -0400)
----------------------------------------------------------------
First merge window pull request
This has been a smaller cycle with many of the commits being smallish code
fixes and improvements across the drivers.
- Driver updates for bnxt_re, cxgb4, hfi1, hns, mlx5, nes, qedr, and rxe
- Memory window support in hns
- mlx5 user API 'flow mutate/steering' allows accessing the full packet
mangling and matching machinery from user space
- Support inter-working with verbs API calls in the 'devx' mlx5 user API, and
provide options to use devx with less privilege
- Modernize the use of syfs and the device interface to use attribute groups
and cdev properly for uverbs, and clean up some of the core code's device list
management
- More progress on net namespaces for RDMA devices
- Consolidate driver BAR mmapping support into core code helpers and rework
how RDMA holds poitners to mm_struct for get_user_pages cases
- First pass to use 'dev_name' instead of ib_device->name
- Device renaming for RDMA devices
----------------------------------------------------------------
Alex Estrin (2):
IB/sa: simplify return code logic for ib_nl_send_msg()
IB/hfi1: Add mtu check for operational data VLs
Arnd Bergmann (1):
RDMA: Fix dependencies for rdma_user_mmap_io
Arseny Maslennikov (3):
Documentation/ABI: document /sys/class/net/*/dev_port
IB/ipoib: Use dev_port to expose network interface port numbers
IB/ipoib: Log sysfs 'dev_id' accesses from userspace
Artemy Kovalyov (1):
IB/mlx5: Fix MR cache initialization
Brian Welty (1):
IB/{hfi1, qib, rdmavt}: Move copy SGE logic into rdmavt
Chuck Lever (2):
RDMA/core: Document CM @event_handler function
RDMA/core: Document QP @event_handler function
Colin Ian King (3):
IB/usnic: fix spelling mistake "unvalid" -> "invalid"
IB/mthca: remove redundant inner check of mdev->mthca_flags
RDMA/hns: fix spelling mistake "reseved" -> "reserved"
Dan Carpenter (1):
RDMA/hns: Fix an error code in hns_roce_v2_init_eq_table()
Denis Drozdov (1):
IB/ipoib: Clear IPCB before icmp_send
Dennis Dalessandro (3):
IB/hfi1: Rework file list in Makefile
IB/hfi1: Prepare resource waits for dual leg
IB/hfi1: Ensure ucast_dlid access doesnt exceed bounds
Devesh Sharma (3):
RDMA/bnxt_re: Drop L2 async events silently
RDMA/bnxt_re: Fix qp async event reporting
RDMA/bnxt_re: Limit max_pkey to 16 bit value
Doug Ledford (4):
Merge branch 'mlx5-vport-loopback' into rdma.get
RDMA/umem: Minor optimizations
RDMA/umem: Fix potential addition overflow
Merge remote-tracking branch 'mlx5-next' into for-next
Gal Pressman (1):
RDMA/mlx5: Remove extraneous error check
Guy Levi (1):
IB/uverbs: Add IDRs array attribute type to ioctl() interface
Hannes Reinecke (1):
ib_srp: Remove WARN_ON in srp_terminate_io()
Håkon Bugge (3):
RDMA/i40iw: Fix incorrect iterator type
IB/mlx4: Enable debug print of SMPs
IB/mlx4: Add port and TID to MAD debug print
Igor Stoppa (1):
IB/srp: Remove unnecessary unlikely()
Israel Rukshin (1):
IB/iser: Fix possible NULL deref at iser_inv_desc()
Jack Morgenstein (1):
IB/core: Add an unbound WQ type to the new CQ API
Jason Gunthorpe (31):
Merge branch 'mlx5-flow-mutate' into rdma.git for-next
Merge branch 'uverbs_dev_cleanups' into rdma.git for-next
IB/rxe: Revise the ib_wr_opcode enum
RDMA/uverbs: Remove is_closed from ib_uverbs_file
RDMA/uverbs: Fix error unwind in ib_uverbs_add_one
RDMA/ucontext: Add a core API for mmaping driver IO memory
RDMA/mlx4: Use rdma_user_mmap_io
RDMA/mlx5: Use rdma_user_mmap_io
RDMA/hns: Use rdma_user_mmap_io
RDMA/ucontext: Get rid of the old disassociate flow
RDMA/umem: Do not use current->tgid to track the mm_struct
RDMA/usnic: Do not use ucontext->tgid
RDMA/umem: Use ib_umem_odp in all function signatures connected to ODP
RDMA/umem: Make ib_umem_odp into a sub structure of ib_umem
RDMA/umem: Get rid of struct ib_umem.odp_data
RDMA/umem: Move all the ODP related stuff out of ucontext and into per_mm
RDMA/umem: Use umem->owning_mm inside ODP
RDMA/umem: Get rid of per_mm->notifier_count
RDMA/umem: Handle a half-complete start/end sequence
RDMA/umem: Avoid synchronize_srcu in the ODP MR destruction path
RDMA/uverbs: Get rid of ucontext->tgid
Merge branch 'mellanox/mlx5-next' into rdma.git for-next
RDMA: Fully setup the device name in ib_register_device
RDMA/core: Use dev_err/dbg/etc instead of pr_* + ibdev->name
RDMA/drivers: Use dev_err/dbg/etc instead of pr_* + ibdev->name
RDMA/core: Use dev_name instead of ibdev->name
RDMA/drivers: Use dev_name instead of ibdev->name
RDMA/ulp: Use dev_name instead of ibdev->name
RDMA: Fix building with CONFIG_MMU=n
RDMA/uverbs: Fix RCU annotation for radix slot deference
Merge branch 'for-rc' into rdma.git for-next
Joe Perches (1):
RDMA/bnxt_re: QPLIB: Add and use #define dev_fmt(fmt) "QPLIB: " fmt
Kaike Wan (3):
IB/rdmavt: Rename check_send_wqe as setup_wqe
IB/hfi1: Add static trace for iowait
IB/hfi1: Use VL15 for SM packets
Kamal Heib (2):
RDMA/rxe: Remove unused addr_same()
RDMA: Remove unused parameter from ib_modify_qp_is_ok()
Kamenee Arumugam (1):
IB/hfi1: PCIe bus width retry
Leon Romanovsky (17):
RDMA/nes: Delete impossible debug prints
RDMA/uverbs: Declare closing variable as boolean
RDMA/umem: Restore lockdep check while downgrading lock
RDMA/netlink: Simplify netlink listener existence check
RDMA/restrack: Un-inline set task implementation
RDMA/restrack: Consolidate task name updates in one place
RDMA/restrack: Release task struct which was hold by CM_ID object
RDMA/restrack: Protect from reentry to resource return path
RDMA/cm: Respect returned status of cm_init_av_by_path
RDMA/cma: Remove unused timeout_ms parameter from cma_resolve_iw_route()
RDMA/core: Align multiple functions to kernel coding style
RDMA/core: Annotate timeout as unsigned long
RDMA/core: Implement IB device rename function
RDMA/nldev: Allow IB device rename through RDMA netlink
RDMA/core: Increase total number of RDMA ports across all devices
RDMA/uverbs: Use kernel API to allocate uverbs indexes
RDMA/umad: Use kernel API to allocate umad indexes
Lijun Ou (15):
RDMA/hns: Refactor the codes for setting transport opode
RDMA/hns: Add atomic support
RDMA/hns: Add CM of vlan device support
RDMA/hns: Add enable judgement for UD vlan
RDMA/hns: Bugfix for reserved qp number
RDMA/hns: Submit bad wr when post send wr exception
RDMA/hns: Bugfix for CM test
RDMA/hns: Limit the size of extend sge of sq
RDMA/hns: Configure ecn field of ip header
RDMA/hns: Update some attributes of the RoCE device
RDMA/hns: Limit extend sq sge num
RDMA/hns: Update some fields of qp context
RDMA/hns: Support local invalidate for hip08 in kernel space
RDMA/hns: Add vlan enable bit for hip08
RDMA/hns: Bugfix for atomic operation
Majd Dibbiny (1):
IB/mlx5: Change TX affinity assignment in RoCE LAG mode
Mark Bloch (23):
RDMA/uverbs: Add UVERBS_ATTR_CONST_IN to the specs language
RDMA/mlx5: Add a new flow action verb - modify header
RDMA/uverbs: Add generic function to fill in flow action object
RDMA/mlx5: Add new flow action verb - packet reformat
RDMA/mlx5: Extend packet reformat verbs
RDMA/mlx5: Add NIC TX steering support
RDMA/mlx5: Enable attaching modify header to steering flows
RDMA/mlx5: Enable decap and packet reformat on flow tables
RDMA/mlx5: Enable attaching DECAP action to steering flows
RDMA/mlx5: Enable reformat on NIC RX if supported
RDMA/mlx5: Enable attaching packet reformat action to steering flows
RDMA/uverbs: Move flow resources initialization
RDMA/mlx5: Refactor flow action parsing to be more generic
RDMA/mlx5: Don't overwrite action if already set
RDMA/mlx5: Refactor raw flow creation
RDMA/mlx5: Add flow actions support to raw create flow
RDMA/mlx5: Add NIC TX namespace when getting a flow table
RDMA/mlx5: Allow creating a matcher for a NIC TX flow table
RDMA/mlx5: Refactor transport domain bookkeeping logic
RDMA/mlx5: Allow creating RAW ethernet QP with loopback support
RDMA/mlx5: Enable vport loopback when user context or QP mandate
RDMA/mlx5: Remove superfluous version print
RDMA/mlx5: Add support for flow tag to raw create flow
Michael J. Ruhl (15):
IB/hfi1: Remove duplicated defines
IB/hfi1: tune_pcie_caps is arbitrarily placed, poorly
IB/hfi1: Get the hfi1_devdata structure as early as possible
IB/hfi1: Prepare for new HFI1 MSIx API
IB/hfi1: Make the MSIx resource allocation a bit more flexible
IB/hfi1: Rework the IRQ API to be more flexible
IB/hfi1: Move URGENT IRQ enable to hfi1_rcvctrl()
IB/{hfi1, qib, rdmavt}: Schedule multi RC/UC packets instead of posting
IB/hfi1: Eliminate races in the SDMA send error path
IB/hfi1: Remove race conditions in user_sdma send path
IB/hfi1: Right size user_sdma sequence numbers and related variables
IB/hfi1: Missing return value in error path for user sdma
IB/hfi1: set_intr_bits uses incorrect source for register modification
IB/hfi1: Move UnsupportedVL bits definitions to the correct header
IB/hfi1: Error path MAD response size is incorrect
Moni Shoua (1):
IB/mlx5: Allow transition of DCI QP to reset
Muhammad Sammar (1):
IB/ipoib: Ensure that MTU isn't less than minimum permitted
Nathan Chancellor (6):
IB/nes: Remove unnecessary parentheses
IB/mlx4: Remove unnecessary parentheses
iw_cxgb4: Use proper enumerated type in c4iw_bar2_addrs
RDMA/qedr: Remove enumerated type qed_roce_ll2_tx_dest
IB/mlx4: Avoid implicit enumerated type conversion
IB/rxe: Remove unnecessary enum values
Parav Pandit (44):
IB/rxe: Simplify rxe_find_route() to avoid GID query for netdev
IB/rxe: Replace spinlock with rwlock
IB/rxe: Change pool state enums to capital letters
IB/rxe: Avoid NULL check when search is successful
IB/rxe: Refactor lookup memory function
RDMA/core: Replace open-coded variant of get_device
RDMA/core: Depend on device_add() to add device attributes
RDMA/uverbs: Use cdev_device_add() instead of cdev_add()
RDMA/uverbs: Use device.groups to initialize device attributes
RDMA/core: Fail early if unsupported QP is provided
IB/mlx5: Don't hold spin lock while checking device state
RDMA/core: Rate limit MAD error messages
RDMA/{cma, core}: Avoid callback on rdma_addr_cancel()
RDMA/core: No need to protect kfree with spin lock and semaphore
RDMA/core: Use simplified list_for_each
RDMA/core: Remove context entries from list while unregistering device
RDMA/core: Use simpler spin lock irq API from blocking context
RDMA/core: Define client_data_lock as rwlock instead of spinlock
RDMA/core: Follow correct unregister order between sysfs and cgroup
RDMA/core: Assign device ifindex before publishing the device
RDMA/core Introduce and use rdma_find_ndev_for_src_ip_rcu
RDMA/core: Avoid unnecessary sa_family overwrite
RDMA/core: Let protocol specific function typecast sockaddr structure
RDMA/core: Introduce and use rdma_set_src_addr() between IPv4 and IPv6
RDMA/core: Rename rdma_copy_addr to rdma_copy_src_l2_addr
RDMA/core: Use common code flow for IPv4/6 for addr resolve
RDMA/core: Refer to network type instead of device type
RDMA/core: Protect against changing dst->dev during destination resolve
RDMA/core: Simplify roce_resolve_route_from_path()
RDMA/core: Introduce rdma_read_gid_attr_ndev_rcu() to check GID attribute
RDMA/core: Consider net ns of gid attribute for RoCE
RDMA/core: Acquire and release mmap_sem on page range
RDMA/cma: Allow accepting requests for multi port rdma device
RDMA/cma: Introduce and use cma_acquire_dev_by_src_ip()
RDMA/cma: Introduce and use cma_ib_acquire_dev()
RDMA/core: Check error status of rdma_find_ndev_for_src_ip_rcu
IB/mlx4: Refer to the device kobject instead of ports_parent
RDMA/core: Do not expose unsupported counters
RDMA/core: Rename ports_parent to ports_kobj
RDMA/core: Allow existing drivers to set one sysfs group per device
RDMA/drivers: Use core provided API for registering device attributes
RDMA/core: Fix unwinding flow in case of error to register device
RDMA/core: Refactor ib_register_device() function
RDMA/core: Fix comment for hw stats init for port == 0
Selvin Xavier (9):
RDMA/bnxt_re: Add missing spin lock initialization
RDMA/bnxt_re: Fix recursive lock warning in debug kernel
RDMA/bnxt_re: Remove the unnecessary version macro definition
RDMA/bnxt_re: Avoid NULL check after accessing the pointer
RDMA/bnxt_re: Avoid accessing nq->bar_reg_iomem in failure case
RDMA/bnxt_re: Expose rx discards and drop counters
RDMA/bnxt_re: Report out of sequence hw counters
RDMA/bnxt_re: Wait for delayed work to finish before device removal
RDMA/bnxt_re: Avoid resource leak in case the NQ registration fails
Somnath Kotur (1):
RDMA/bnxt_re: Prevent driver crash due to NULL pointer in error message print
Venkata Sandeep Dhanalakota (2):
IB/{hfi1, qib, rdmavt}: Move send completion logic to rdmavt
IB/{hfi1, qib, rdmavt}: Move ruc_loopback to rdmavt
Vijay Immanuel (4):
IB/rxe: vary the source udp port for receive scaling
IB/rxe: fix for duplicate request processing and ack psns
IB/rxe: avoid back-to-back retries
IB/rxe: fixes for rdma read retry
Wei Yongjun (1):
IB/mthca: Fix error return code in __mthca_init_one()
Yishai Hadas (20):
IB/mlx5: Use uid as part of PD commands
IB/mlx5: Set uid as part of QP creation
IB/mlx5: Set uid as part of RQ commands
IB/mlx5: Set uid as part of SQ commands
IB/mlx5: Set uid as part of SRQ commands
IB/mlx5: Set uid as part of DCT commands
IB/mlx5: Set uid as part of MCG commands
IB/mlx5: Set uid as part of TIR commands
IB/mlx5: Set uid as part of TIS commands
IB/mlx5: Set uid as part of RQT commands
IB/mlx5: Set uid upon PD allocation
IB/mlx5: Set uid as part of CQ creation
IB/mlx5: Set uid as part of XRCD commands
IB/mlx5: Set uid as part of TD commands
IB/mlx5: Set valid umem bit on DEVX
IB/mlx5: Expose RAW QP device handles to user space
IB/mlx5: Manage device uid for DEVX white list commands
IB/mlx5: Enable DEVX white list commands
IB/mlx5: Enable DEVX on IB
IB/mlx5: Verify DEVX object type
Yixian Liu (2):
RDMA/hns: Add MW support for hip08
RDMA/hns: Add FRMR support for hip08
Yonatan Cohen (4):
IB/mlx5: Support scatter to CQE for DC transport type
IB/mlx5: Verify that driver supports user flags
IB/mlx5: Allow scatter to CQE without global signaled WRs
IB/mlx5: Add support for extended atomic operations
YueHaibing (4):
RDMA/qedr: remove set but not used variable 'ctx'
RDMA: Remove duplicated include from ib_addr.h
RDMA/core: Properly return the error code of rdma_set_src_addr_rcu
RDMA/hns: remove set but not used variable 'dseg'
Zhu Yanjun (3):
IB/rxe: remove redudant qpn check
IB/rxe: replace kvfree with vfree
IB/rxe: avoid srq memory leak
liuyixian (1):
RDMA/hns: Move all prints out of irq handle
zhong jiang (2):
infiniband: remove redundant condition check before debugfs_remove
RDMA/cxgb4: remove redundant null pointer check before kfree_skb
Documentation/ABI/testing/sysfs-class-net | 18 +
drivers/infiniband/Kconfig | 1 +
drivers/infiniband/core/addr.c | 406 +++++++-----
drivers/infiniband/core/cache.c | 79 ++-
drivers/infiniband/core/cm.c | 9 +-
drivers/infiniband/core/cma.c | 251 +++++---
drivers/infiniband/core/cma_configfs.c | 2 +-
drivers/infiniband/core/core_priv.h | 12 +-
drivers/infiniband/core/cq.c | 10 +-
drivers/infiniband/core/device.c | 264 +++++---
drivers/infiniband/core/fmr_pool.c | 5 +-
drivers/infiniband/core/iwcm.c | 2 +-
drivers/infiniband/core/mad.c | 80 +--
drivers/infiniband/core/mad_priv.h | 2 +-
drivers/infiniband/core/netlink.c | 4 +-
drivers/infiniband/core/nldev.c | 37 +-
drivers/infiniband/core/rdma_core.c | 56 +-
drivers/infiniband/core/rdma_core.h | 1 +
drivers/infiniband/core/restrack.c | 30 +-
drivers/infiniband/core/sa.h | 8 +-
drivers/infiniband/core/sa_query.c | 70 +--
drivers/infiniband/core/security.c | 7 +-
drivers/infiniband/core/sysfs.c | 101 ++-
drivers/infiniband/core/umem.c | 125 ++--
drivers/infiniband/core/umem_odp.c | 621 +++++++++----------
drivers/infiniband/core/user_mad.c | 13 +-
drivers/infiniband/core/uverbs.h | 15 +-
drivers/infiniband/core/uverbs_cmd.c | 43 +-
drivers/infiniband/core/uverbs_ioctl.c | 140 ++++-
drivers/infiniband/core/uverbs_main.c | 340 +++++++++--
.../infiniband/core/uverbs_std_types_flow_action.c | 7 +-
drivers/infiniband/core/uverbs_uapi.c | 12 +
drivers/infiniband/core/verbs.c | 19 +-
drivers/infiniband/hw/bnxt_re/bnxt_re.h | 3 +-
drivers/infiniband/hw/bnxt_re/hw_counters.c | 11 +-
drivers/infiniband/hw/bnxt_re/hw_counters.h | 3 +
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 4 +-
drivers/infiniband/hw/bnxt_re/main.c | 125 ++--
drivers/infiniband/hw/bnxt_re/qplib_fp.c | 134 ++--
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 88 +--
drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 4 +
drivers/infiniband/hw/bnxt_re/qplib_res.c | 29 +-
drivers/infiniband/hw/bnxt_re/qplib_sp.c | 77 ++-
drivers/infiniband/hw/bnxt_re/qplib_sp.h | 10 +
drivers/infiniband/hw/bnxt_re/roce_hsi.h | 5 +
drivers/infiniband/hw/cxgb3/iwch_provider.c | 55 +-
drivers/infiniband/hw/cxgb4/cm.c | 3 +-
drivers/infiniband/hw/cxgb4/cq.c | 2 +-
drivers/infiniband/hw/cxgb4/provider.c | 50 +-
drivers/infiniband/hw/cxgb4/qp.c | 10 +-
drivers/infiniband/hw/hfi1/Makefile | 42 +-
drivers/infiniband/hw/hfi1/affinity.c | 4 +-
drivers/infiniband/hw/hfi1/chip.c | 486 ++++-----------
drivers/infiniband/hw/hfi1/chip.h | 71 ++-
drivers/infiniband/hw/hfi1/chip_registers.h | 4 +
drivers/infiniband/hw/hfi1/file_ops.c | 4 +-
drivers/infiniband/hw/hfi1/hfi.h | 48 +-
drivers/infiniband/hw/hfi1/init.c | 113 ++--
drivers/infiniband/hw/hfi1/iowait.c | 94 +++
drivers/infiniband/hw/hfi1/iowait.h | 192 ++++--
drivers/infiniband/hw/hfi1/mad.c | 4 +-
drivers/infiniband/hw/hfi1/msix.c | 363 +++++++++++
drivers/infiniband/hw/hfi1/msix.h | 64 ++
drivers/infiniband/hw/hfi1/pcie.c | 74 +--
drivers/infiniband/hw/hfi1/pio.c | 8 -
drivers/infiniband/hw/hfi1/qp.c | 100 ++-
drivers/infiniband/hw/hfi1/qp.h | 31 +-
drivers/infiniband/hw/hfi1/rc.c | 24 +-
drivers/infiniband/hw/hfi1/ruc.c | 382 +-----------
drivers/infiniband/hw/hfi1/sdma.c | 56 +-
drivers/infiniband/hw/hfi1/sdma.h | 21 +-
drivers/infiniband/hw/hfi1/sysfs.c | 69 +--
drivers/infiniband/hw/hfi1/trace.h | 3 +-
drivers/infiniband/hw/hfi1/trace_iowait.h | 54 ++
drivers/infiniband/hw/hfi1/uc.c | 14 +-
drivers/infiniband/hw/hfi1/ud.c | 22 +-
drivers/infiniband/hw/hfi1/user_sdma.c | 137 ++---
drivers/infiniband/hw/hfi1/user_sdma.h | 20 +-
drivers/infiniband/hw/hfi1/verbs.c | 251 +-------
drivers/infiniband/hw/hfi1/verbs.h | 35 +-
drivers/infiniband/hw/hfi1/verbs_txreq.h | 11 +-
drivers/infiniband/hw/hfi1/vnic_main.c | 12 +-
drivers/infiniband/hw/hfi1/vnic_sdma.c | 21 +-
drivers/infiniband/hw/hns/Kconfig | 1 +
drivers/infiniband/hw/hns/hns_roce_ah.c | 6 +-
drivers/infiniband/hw/hns/hns_roce_device.h | 45 +-
drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 4 +-
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 629 ++++++++++++-------
drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 96 ++-
drivers/infiniband/hw/hns/hns_roce_main.c | 123 ++--
drivers/infiniband/hw/hns/hns_roce_mr.c | 212 ++++++-
drivers/infiniband/hw/hns/hns_roce_qp.c | 41 +-
drivers/infiniband/hw/i40iw/i40iw_cm.c | 2 +-
drivers/infiniband/hw/i40iw/i40iw_verbs.c | 73 +--
drivers/infiniband/hw/mlx4/Kconfig | 1 +
drivers/infiniband/hw/mlx4/mad.c | 20 +-
drivers/infiniband/hw/mlx4/main.c | 182 ++----
drivers/infiniband/hw/mlx4/mcg.c | 2 +-
drivers/infiniband/hw/mlx4/mlx4_ib.h | 5 -
drivers/infiniband/hw/mlx4/qp.c | 8 +-
drivers/infiniband/hw/mlx4/sysfs.c | 6 +-
drivers/infiniband/hw/mlx5/cmd.c | 129 ++++
drivers/infiniband/hw/mlx5/cmd.h | 14 +
drivers/infiniband/hw/mlx5/cq.c | 3 +-
drivers/infiniband/hw/mlx5/devx.c | 358 ++++++++---
drivers/infiniband/hw/mlx5/flow.c | 393 +++++++++++-
drivers/infiniband/hw/mlx5/ib_rep.c | 3 -
drivers/infiniband/hw/mlx5/main.c | 510 ++++++++--------
drivers/infiniband/hw/mlx5/mem.c | 9 +-
drivers/infiniband/hw/mlx5/mlx5_ib.h | 98 +--
drivers/infiniband/hw/mlx5/mr.c | 14 +-
drivers/infiniband/hw/mlx5/odp.c | 123 ++--
drivers/infiniband/hw/mlx5/qp.c | 491 +++++++++++----
drivers/infiniband/hw/mlx5/srq.c | 1 +
drivers/infiniband/hw/mthca/mthca_mad.c | 5 +-
drivers/infiniband/hw/mthca/mthca_main.c | 6 +-
drivers/infiniband/hw/mthca/mthca_provider.c | 44 +-
drivers/infiniband/hw/mthca/mthca_qp.c | 4 +-
drivers/infiniband/hw/nes/nes.c | 3 -
drivers/infiniband/hw/nes/nes.h | 9 -
drivers/infiniband/hw/nes/nes_hw.c | 2 +-
drivers/infiniband/hw/nes/nes_nic.c | 2 -
drivers/infiniband/hw/nes/nes_verbs.c | 63 +-
drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 2 +-
drivers/infiniband/hw/ocrdma/ocrdma_main.c | 74 +--
drivers/infiniband/hw/ocrdma/ocrdma_stats.c | 3 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 3 +-
drivers/infiniband/hw/qedr/main.c | 73 +--
drivers/infiniband/hw/qedr/qedr.h | 2 +-
drivers/infiniband/hw/qedr/qedr_roce_cm.c | 4 +-
drivers/infiniband/hw/qedr/verbs.c | 5 +-
drivers/infiniband/hw/qib/qib.h | 2 +-
drivers/infiniband/hw/qib/qib_qp.c | 17 +-
drivers/infiniband/hw/qib/qib_rc.c | 18 +-
drivers/infiniband/hw/qib/qib_ruc.c | 342 +----------
drivers/infiniband/hw/qib/qib_sdma.c | 2 +-
drivers/infiniband/hw/qib/qib_sysfs.c | 101 ++-
drivers/infiniband/hw/qib/qib_uc.c | 12 +-
drivers/infiniband/hw/qib/qib_ud.c | 17 +-
drivers/infiniband/hw/qib/qib_verbs.c | 47 +-
drivers/infiniband/hw/qib/qib_verbs.h | 15 +-
drivers/infiniband/hw/usnic/usnic_debugfs.c | 3 +-
drivers/infiniband/hw/usnic/usnic_ib_main.c | 39 +-
drivers/infiniband/hw/usnic/usnic_ib_sysfs.c | 74 +--
drivers/infiniband/hw/usnic/usnic_ib_sysfs.h | 2 +
drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 16 +-
drivers/infiniband/hw/usnic/usnic_transport.c | 2 +-
drivers/infiniband/hw/usnic/usnic_uiom.c | 91 ++-
drivers/infiniband/hw/usnic/usnic_uiom.h | 3 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 46 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 2 +-
drivers/infiniband/sw/rdmavt/Kconfig | 2 +-
drivers/infiniband/sw/rdmavt/qp.c | 677 ++++++++++++++++++++-
drivers/infiniband/sw/rdmavt/qp.h | 2 +
drivers/infiniband/sw/rdmavt/trace_tx.h | 42 ++
drivers/infiniband/sw/rdmavt/vt.c | 15 +-
drivers/infiniband/sw/rxe/rxe.c | 13 +-
drivers/infiniband/sw/rxe/rxe_comp.c | 39 +-
drivers/infiniband/sw/rxe/rxe_cq.c | 4 +-
drivers/infiniband/sw/rxe/rxe_loc.h | 5 +-
drivers/infiniband/sw/rxe/rxe_mr.c | 35 +-
drivers/infiniband/sw/rxe/rxe_net.c | 49 +-
drivers/infiniband/sw/rxe/rxe_param.h | 4 -
drivers/infiniband/sw/rxe/rxe_pool.c | 55 +-
drivers/infiniband/sw/rxe/rxe_pool.h | 6 +-
drivers/infiniband/sw/rxe/rxe_qp.c | 18 +-
drivers/infiniband/sw/rxe/rxe_recv.c | 4 +-
drivers/infiniband/sw/rxe/rxe_req.c | 17 +-
drivers/infiniband/sw/rxe/rxe_resp.c | 10 +-
drivers/infiniband/sw/rxe/rxe_srq.c | 10 +-
drivers/infiniband/sw/rxe/rxe_sysfs.c | 2 +-
drivers/infiniband/sw/rxe/rxe_verbs.c | 29 +-
drivers/infiniband/sw/rxe/rxe_verbs.h | 4 +
drivers/infiniband/ulp/ipoib/ipoib_cm.c | 8 +-
drivers/infiniband/ulp/ipoib/ipoib_main.c | 36 +-
drivers/infiniband/ulp/ipoib/ipoib_verbs.c | 2 +-
drivers/infiniband/ulp/iser/iser_initiator.c | 18 +-
drivers/infiniband/ulp/iser/iser_verbs.c | 9 +-
drivers/infiniband/ulp/isert/ib_isert.c | 2 +-
drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c | 3 +-
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c | 3 +-
drivers/infiniband/ulp/srp/ib_srp.c | 19 +-
drivers/infiniband/ulp/srpt/ib_srpt.c | 28 +-
include/linux/mlx5/driver.h | 23 +-
include/linux/qed/qed_rdma_if.h | 11 +-
include/rdma/ib_addr.h | 11 +-
include/rdma/ib_cm.h | 2 +-
include/rdma/ib_sa.h | 38 +-
include/rdma/ib_umem.h | 9 +-
include/rdma/ib_umem_odp.h | 75 +--
include/rdma/ib_verbs.h | 149 +++--
include/rdma/rdma_cm.h | 11 +-
include/rdma/rdma_netlink.h | 4 +-
include/rdma/rdma_vt.h | 51 +-
include/rdma/rdmavt_qp.h | 7 +
include/rdma/restrack.h | 12 +-
include/rdma/uverbs_ioctl.h | 111 +++-
include/rdma/uverbs_std_types.h | 51 ++
include/uapi/rdma/ib_user_verbs.h | 20 +-
include/uapi/rdma/mlx5-abi.h | 16 +
include/uapi/rdma/mlx5_user_ioctl_cmds.h | 21 +
include/uapi/rdma/mlx5_user_ioctl_verbs.h | 12 +
include/uapi/rdma/rdma_netlink.h | 3 +-
include/uapi/rdma/rdma_user_ioctl_cmds.h | 7 +-
204 files changed, 7618 insertions(+), 5190 deletions(-)
(diffstat from tag for-linus-merged)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2018-10-25 21:21 Jason Gunthorpe
@ 2018-10-26 14:50 ` Linus Torvalds
0 siblings, 0 replies; 149+ messages in thread
From: Linus Torvalds @ 2018-10-26 14:50 UTC (permalink / raw)
To: jgg; +Cc: dledford, linux-rdma, Linux Kernel Mailing List
On Thu, Oct 25, 2018 at 2:21 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
>
> This pull request is following your recommendation from 4.19, the
> for-linus tag has no merge, a for-linus-merged tag has my merge
> resolution for your reference, and the diffstat below has been
> replaced with the diffstat from the for-linus-merged tag.
Thanks, looks good. Pulled,
Linus
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-09-27 18:24 Jason Gunthorpe
2018-09-27 20:17 ` Greg Kroah-Hartman
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2018-09-27 18:24 UTC (permalink / raw)
To: Greg Kroah-Hartman, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 3180 bytes --]
Hi Greg,
Second rc pull request
This has a few fixes for smaller regressions introduced this cycle and
the usual various driver oops fixes.
There is one long standing race bug in the comp_channel that Steve was
able to reproduce, track down and fix.
I believe the HFI1 driver regression breakage has been fixed in
Bjorn's tree and I'm currently expecting the lingering ipoib issue to
be fixed in the netdev tree, but patches are still delayed due to
various holidays this month.
Thanks,
Jason
The following changes since commit 8f28b178f71cc56eccf2a6e2c0ace17c82f900d7:
RDMA/mlx4: Ensure that maximal send/receive SGE less than supported by HW (2018-09-06 13:16:12 -0600)
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 5c5702e259dc66e6fceed5117effab79c186e87a:
RDMA/core: Set right entry state before releasing reference (2018-09-25 15:01:09 -0600)
----------------------------------------------------------------
Second rc pull request
- Fix a long standing race bug when destroying comp_event file descriptors
- srp, hfi1, bnxt_re: Various driver crashes from missing validation and
other cases
- Fixes for regressions in patches merged this window in the gid cache,
devx, ucma and uapi.
----------------------------------------------------------------
Bart Van Assche (1):
IB/srp: Avoid that sg_reset -d ${srp_device} triggers an infinite loop
Cong Wang (1):
ucma: fix a use-after-free in ucma_resolve_ip()
Ira Weiny (1):
IB/hfi1: Fix SL array bounds check
Majd Dibbiny (1):
RDMA/uverbs: Fix validity check for modify QP
Mark Bloch (1):
IB/uverbs: Free uapi on destroy
Michael J. Ruhl (3):
IB/hfi1: Invalid user input can result in crash
IB/hfi1: Fix context recovery when PBC has an UnsupportedVL
IB/hfi1: Fix destroy_qp hang after a link down
Parav Pandit (1):
RDMA/core: Set right entry state before releasing reference
Selvin Xavier (1):
RDMA/bnxt_re: Fix system crash during RDMA resource initialization
Steve Wise (2):
cxgb4: fix abort_req_rss6 struct
RDMA/uverbs: Atomically flush and mark closed the comp event queue
Yishai Hadas (1):
IB/mlx5: Destroy the DEVX object upon error flow
drivers/infiniband/core/cache.c | 68 ++++++++++-----------
drivers/infiniband/core/ucma.c | 2 +
drivers/infiniband/core/uverbs_cmd.c | 68 ++++++++++++++-------
drivers/infiniband/core/uverbs_main.c | 1 +
drivers/infiniband/core/uverbs_uapi.c | 1 +
drivers/infiniband/hw/bnxt_re/main.c | 93 ++++++++++++-----------------
drivers/infiniband/hw/hfi1/chip.c | 6 +-
drivers/infiniband/hw/hfi1/pio.c | 51 ++++++++++++----
drivers/infiniband/hw/hfi1/pio.h | 2 +
drivers/infiniband/hw/hfi1/user_sdma.c | 2 +-
drivers/infiniband/hw/hfi1/verbs.c | 8 ++-
drivers/infiniband/hw/mlx5/devx.c | 5 +-
drivers/infiniband/ulp/srp/ib_srp.c | 6 +-
drivers/net/ethernet/chelsio/cxgb4/t4_msg.h | 1 -
14 files changed, 184 insertions(+), 130 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2018-09-27 18:24 Jason Gunthorpe
@ 2018-09-27 20:17 ` Greg Kroah-Hartman
0 siblings, 0 replies; 149+ messages in thread
From: Greg Kroah-Hartman @ 2018-09-27 20:17 UTC (permalink / raw)
To: Jason Gunthorpe; +Cc: Doug Ledford, linux-rdma, linux-kernel
On Thu, Sep 27, 2018 at 12:24:32PM -0600, Jason Gunthorpe wrote:
> Hi Greg,
>
> Second rc pull request
>
> This has a few fixes for smaller regressions introduced this cycle and
> the usual various driver oops fixes.
>
> There is one long standing race bug in the comp_channel that Steve was
> able to reproduce, track down and fix.
>
> I believe the HFI1 driver regression breakage has been fixed in
> Bjorn's tree and I'm currently expecting the lingering ipoib issue to
> be fixed in the netdev tree, but patches are still delayed due to
> various holidays this month.
>
> Thanks,
> Jason
>
> The following changes since commit 8f28b178f71cc56eccf2a6e2c0ace17c82f900d7:
>
> RDMA/mlx4: Ensure that maximal send/receive SGE less than supported by HW (2018-09-06 13:16:12 -0600)
>
> are available in the Git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus
Now pulled, thanks.
greg k-h
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-09-10 23:04 Jason Gunthorpe
0 siblings, 0 replies; 149+ messages in thread
From: Jason Gunthorpe @ 2018-09-10 23:04 UTC (permalink / raw)
To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
Hi Linus,
This fixes one major regression with NFS and mlx4 due to the max_sg
rework in this merge window, tidies a few minor error_path
regressions, and various small fixes.
The HFI1 driver is broken this cycle due to a regression caused by a
PCI change, it is looking like Bjorn will merge a fix for this. Also,
the lingering ipoib issue I mentioned earlier still remains unfixed.
The following changes since commit 57361846b52bc686112da6ca5368d11210796804:
Linux 4.19-rc2 (2018-09-02 14:37:30 -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 8f28b178f71cc56eccf2a6e2c0ace17c82f900d7:
RDMA/mlx4: Ensure that maximal send/receive SGE less than supported by HW (2018-09-06 13:16:12 -0600)
----------------------------------------------------------------
First rc pull request
- Fix possible FD type confusion crash
- Fix a user trigger-able crash in cxgb4
- Fix bad handling of IOMMU resources causing user controlled leaking in
bnxt
- Add missing locking in ipoib to fix a rare 'stuck tx' situation
- Add missing locking in cma
- Add two missing missing uverbs cleanups on failure paths, regressions
from this merge window
- Fix a regression from this merge window that caused RDMA NFS to not work
with the mlx4 driver due to the max_sg changes
----------------------------------------------------------------
Aaron Knister (1):
IB/ipoib: Avoid a race condition between start_xmit and cm_rep_handler
Artemy Kovalyov (1):
IB/core: Release object lock if destroy failed
Jann Horn (1):
RDMA/ucma: check fd type in ucma_migrate_id()
Leon Romanovsky (1):
RDMA/mlx4: Ensure that maximal send/receive SGE less than supported by HW
Parav Pandit (2):
RDMA/uverbs: Fix error cleanup path of ib_uverbs_add_one()
RDMA/cma: Protect cma dev list with lock
Somnath Kotur (1):
bnxt_re: Fix couple of memory leaks that could lead to IOMMU call traces
Steve Wise (1):
iw_cxgb4: only allow 1 flush on user qps
drivers/infiniband/core/cma.c | 12 +++++++-----
drivers/infiniband/core/rdma_core.c | 2 ++
drivers/infiniband/core/ucma.c | 6 ++++++
drivers/infiniband/core/uverbs_main.c | 5 ++---
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 2 ++
drivers/infiniband/hw/bnxt_re/qplib_fp.c | 2 +-
drivers/infiniband/hw/cxgb4/qp.c | 6 ++++++
drivers/infiniband/hw/mlx4/main.c | 8 +++++---
drivers/infiniband/ulp/ipoib/ipoib_cm.c | 2 ++
9 files changed, 33 insertions(+), 12 deletions(-)
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-08-22 21:44 Jason Gunthorpe
0 siblings, 0 replies; 149+ messages in thread
From: Jason Gunthorpe @ 2018-08-22 21:44 UTC (permalink / raw)
To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1466 bytes --]
Hi Linus,
Second merge window pull request
This is the SMC cleanup promised, a randconfig regression fix, and kernel oops
fix.
I've learned we have at least one regression this merge window in IPoIB,
which people are working on.
The following changes since commit 0a3173a5f09bc58a3638ecfd0a80bdbae55e123c:
Merge branch 'linus/master' into rdma.git for-next (2018-08-16 14:21:29 -0600)
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 845b397a7771f2d3504beff5521f452be0d22eec:
IB/ucm: fix UCM link error (2018-08-21 16:56:32 -0600)
----------------------------------------------------------------
Second merge window update
- Switch SMC over to rdma_get_gid_attr and remove the compat
- Fix a crash in HFI1 with some BIOS's
- Fix a randconfig failure
----------------------------------------------------------------
Arnd Bergmann (1):
IB/ucm: fix UCM link error
Jason Gunthorpe (1):
RDMA/smc: Replace ib_query_gid with rdma_get_gid_attr
Michael J. Ruhl (1):
IB/hfi1: Invalid NUMA node information can cause a divide by zero
drivers/infiniband/Kconfig | 2 +-
drivers/infiniband/hw/hfi1/affinity.c | 24 +++++++++++++++---
include/rdma/ib_cache.h | 24 ------------------
net/smc/smc_ib.c | 48 ++++++++++++++++++-----------------
4 files changed, 47 insertions(+), 51 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-08-16 21:57 Jason Gunthorpe
2018-08-17 19:31 ` Linus Torvalds
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2018-08-16 21:57 UTC (permalink / raw)
To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 50423 bytes --]
Hi Linus,
Here are the RDMA patches for 4.19.
This time there are many merge conflicts, all due to various tree-wide or RDMA
subystem wide changes done by various people. The resolution is tricky, as git
does not highlight two areas that need revision.
An overview of the conflicts:
- Mark Rutland renamed __atomic_add_unless() conflicting with major rework of
rdma_core.c
- Steve Wise split ib_device_attr.max_sge into max_send_sge and max_recv_sge,
and updated all ULPs. This clashed with other changes in the NVMe over
fabrics driver adding new users of max_sge. This is tricky as the correct
use of send/recv in the merge is essential. Christoph Hellwig has reviewded
this resolution in linux-next
- Bart did a tree wide change to use NULL for the last argument in
ibv_post_send(), clashing with various RDP ULP changes in netdev
- Parav revised the ugly ib_query_gid API with something saner and
did a treewide update. This clashed horribly with general work on the SMC
code in netdev. We've handled this by providing a compat ib_query_gid wrapper
and reverting the SMC changes in rdma.git, so no merge fixup neeed.
However, I will send a cleanup for this to remove the wrapper as soon as
possible.
- Various small conflicts between RDMA -rc and -next resolved by merging the
v4.18 tag.
Notably we have again avoided the historical merge conflicts in the Mellanox
drivers with the new 'shared branch' arrangement with DaveM, this seems to be
working well.
The above tree wide changes explain most of the hunks outside the tree, the
only other cases are a new function check_shl_overflow() in
include/linux/overflow.h ack'd by Kees and an edit to idr.h from Matthew Wilcox
that was needed for other patches he sent to the RDMA tree.
As before I've resolved the conflicts in the for-next tag (this makes the
diffstat below more accurate) and provided the unmerged tree in the
for-linus-unmerged tag. The merge resolution diff is a bit big so it is
included at the end of this message for your reference.
The following changes since commit 5c60a7389d795e001c8748b458eb76e3a5b6008c:
Merge tag 'for-linus-4.19-ofs1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux (2018-08-16 10:53:45 -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 0a3173a5f09bc58a3638ecfd0a80bdbae55e123c:
Merge branch 'linus/master' into rdma.git for-next (2018-08-16 14:21:29 -0600)
----------------------------------------------------------------
This has been a large cycle for RDMA, with several major patch series
reworking parts of the core code.
- Rework the so-called 'gid cache' and internal APIs to use a kref'd
pointer to a struct instead of copying, push this upwards into the
callers and add more stuff to the struct. The new design avoids some
ugly races the old one suffered with. This is part of the namespace
enablement work as the new struct is learning to be namespace aware.
- Various uapi cleanups, moving more stuff to include/uapi and fixing some
long standing bugs that have recently been discovered.
- Driver updates for mlx5, mlx4 i40iw, rxe, cxgb4, hfi1, usnic, pvrdma,
and hns
- Provide max_send_sge and max_recv_sge attributes to better support HW
where these values are asymmetric.
- mlx5 user API 'devx' allows sending commands directly to the device FW,
instead of trying to cram every wild and niche feature into the common
API. Sort of like what GPU does.
- Major write() and ioctl() API rework to cleanly support PCI device hot
unplug and advance the ioctl conversion work
- Sparse and compile warning cleanups
- Add 'const' to the ib_poll_cq() signature, and permit a NULL 'bad_wr',
which is the common use case
- Various patches to avoid high order allocations across the stack
- SRQ support for cxgb4, hns and qedr
- Changes to IPoIB to better follow the netdev model for working with
struct net_device liftime
----------------------------------------------------------------
Arnd Bergmann (1):
infiniband: i40iw, nes: don't use wall time for TCP sequence numbers
Artemy Kovalyov (2):
RDMA: Validate grh_required when handling AVs
IB/uverbs: Pass IB_UVERBS_QPF_GRH_REQUIRED to user space
Bart Van Assche (51):
MAINTAINERS: Update SRP entries
IB/srpt: Support HCAs with more than two ports
include/rdma/opa_addr.h: Fix an endianness issue
IB/srp: Remove driver version and release data information
IB/mlx5: Remove set-but-not-used variables
ib_srpt: Fix a use-after-free in srpt_close_ch()
ib_srpt: Fix a use-after-free in __srpt_close_all_ch()
RDMA/core: Remove ib_find_cached_gid() and ib_find_cached_gid_by_port()
RDMA/core: Remove set-but-not-used variables
IB/nes: Fix a compiler warning
RDMA/ocrdma: Remove a set-but-not-used variable
IB/iser: Remove set-but-not-used variables
RDMA/rxe: Simplify the error handling code in rxe_create_ah()
RDMA/cxgb3: Make iwch_poll_cq_one() easier to analyze
RDMA/cxgb4: Make c4iw_poll_cq_one() easier to analyze
RDMA/rw: Fix rdma_rw_ctx_signature_init() kernel-doc header
RDMA/nes: Avoid complaints about unused variables
RDMA/ocrdma: Make ocrdma_destroy_qp() easier to analyze
IB/hfi1: Suppress a compiler warning
hns: Remove a set-but-not-used variable
IB/srpt: Fix srpt_cm_req_recv() error path (1/2)
IB/srpt: Fix srpt_cm_req_recv() error path (2/2)
RDMA/bnxt_re: Modify a fall-through annotation
MAINTAINERS: Remove Dave Goodell from the usnic RDMA driver maintainer list
IB/core: Allow ULPs to specify NULL as the third ib_post_(send|recv|srq_recv)() argument
RDMA/core: Simplify ib_post_(send|recv|srq_recv)() calls
IB/IPoIB: Simplify ib_post_(send|recv|srq_recv)() calls
IB/iser: Simplify ib_post_(send|recv|srq_recv)() calls
IB/isert: Simplify ib_post_(send|recv|srq_recv)() calls
IB/srp: Simplify ib_post_(send|recv|srq_recv)() calls
IB/srpt: Simplify ib_post_(send|recv|srq_recv)() calls
nvme-rdma: Simplify ib_post_(send|recv|srq_recv)() calls
nvmet-rdma: Simplify ib_post_(send|recv|srq_recv)() calls
fs/cifs: Simplify ib_post_(send|recv|srq_recv)() calls
net/9p: Simplify ib_post_(send|recv|srq_recv)() calls
net/rds: Remove two WARN_ON() statements
net/rds: Simplify ib_post_(send|recv|srq_recv)() calls
net/smc: Remove a WARN_ON() statement
net/smc: Simplify ib_post_(send|recv|srq_recv)() calls
net/xprtrdma: Simplify ib_post_(send|recv|srq_recv)() calls
RDMA/ocrdma: Suppress a compiler warning
RDMA/usnic: Suppress a compiler warning
IB/iser: Inline two work request conversion functions
RDMA: Constify the argument of the work request conversion functions
IB/mlx5, ib_post_send(), IB_WR_REG_SIG_MR: Do not modify the 'wr' argument
RDMA, core and ULPs: Declare ib_post_send() and ib_post_recv() arguments const
rdma/cxgb4: Remove a set-but-not-used variable
rdma/cxgb4: Fix SRQ endianness annotations
rdma/cxgb4: Simplify a structure initialization
RDMA/rxe: Set wqe->status correctly if an unexpected response is received
Update the e-mail address of Bart Van Assche
Bharat Potnuri (1):
iw_cxgb4: remove duplicate memcpy() in c4iw_create_listen()
Dan Carpenter (4):
IB/core: type promotion bug in rdma_rw_init_one_mr()
RDMA/bnxt_re: Fix a couple off by one bugs
RDMA/bnxt_re: Fix a bunch of off by one bugs in qplib_fp.c
rdma/cxgb4: fix some info leaks
Denis Drozdov (1):
IB/IPoIB: Set ah valid flag in multicast send flow
Erez Shitrit (1):
IB/ipoib: Use cancel_delayed_work_sync for neigh-clean task
Gal Pressman (1):
RDMA/hns: Fix usage of bitmap allocation functions return values
Håkon Bugge (1):
IB/cm: Remove unused and erroneous msg sequence encoding
Jack Morgenstein (1):
IB/mlx4: Use 4K pages for kernel QP's WQE buffer
Jan Dakinevich (2):
ib_srpt: use kvmalloc to allocate ring pointers
IPoIB: use kvzalloc to allocate an array of bucket pointers
Jann Horn (1):
IB/mlx5: fix uaccess beyond "count" in debugfs read/write handlers
Jason Gunthorpe (90):
IB/core: Provide rdma_ versions of the gid cache API
IB/core: Make rdma_find_gid_by_filter support all protocols
IB/rxe: Do not hide uABI stuff in memcpy
IB/core: Add a sgid_attr pointer to struct rdma_ah_attr
IB{cm, core}: Introduce and use ah_attr copy, move, replace APIs
RDMA: Hold the sgid_attr inside the struct ib_ah/qp
Merge branch 'mellanox/mlx5-next' into RDMA for-next
Merge branch 'icrc-counter' into rdma.git for-next
IB/uverbs: Delete type and id from uverbs_obj_attr
RDMA/core: Remove unused ib cache functions
IB/usnic: Update with bug fixes from core code
RDMA/uverbs: Check existence of create_flow callback
IB/mlx4: Create slave AH's directly
IB/core: Check for rdma_protocol_ib only after validating port_num
IB/cm: Remove now useless rcu_lock in dst_fetch_ha
Merge branch 'mlx5-dump-fill-mkey' into rdma.git for-next
RDMA/uverbs: Store the specs_root in the struct ib_uverbs_device
RDMA/uverbs: Split UVERBS_ATTR_FLOW_ACTION_ESP_HANDLE
RDMA/uverbs: Simplify UVERBS_ATTR family of macros
RDMA/uverbs: Simplify method definition macros
RDMA/uverbs: Simplify UVERBS_OBJECT and _TREE family of macros
RDMA/uverbs: Get rid of the & in method specifications
RDMA/uverbs: Remove UA_FLAGS
RDMA/uverbs: Use UVERBS_ATTR_MIN_SIZE correctly and uniformly
RDMA/uverbs: Combine MIN_SZ_OR_ZERO with UVERBS_ATTR_STRUCT
IB/uverbs: Add a uobj_perform_destroy helper
IB/uverbs: Move non driver related elements from ib_ucontext to ib_ufile
IB/uverbs: Replace ib_ucontext with ib_uverbs_file in core function calls
IB/uverbs: Replace file->ucontext with file in uverbs_cmd.c
IB/uverbs: Tidy up remaining references to ucontext
IB/uverbs: Remove ib_uobject_file
IB/uverbs: Replace ib_ucq_object uverbs_file with the one in ib_uobject
IB/uverbs: Do not use uverbs_cmd_mask in the ioctl path
RDMA: Fix storage of PortInfo CapabilityMask in the kernel
RDMA/hfi1: Move grh_required into update_sm_ah
RDMA/cxgb4: Restore the dropped uninitialized_var
IB/cm: Remove cma_multicast->igmp_joined
IB/uverbs: Move ib_access_flags and ib_read_counters_flags to uapi
Merge branch 'mellanox/mlx5-next' into rdma.git for-next
IB/uverbs: Get rid of null_obj_type
IB/uverbs: Handle IDR and FD types without truncation
IB/uverbs: Clarify the kref'ing ordering for alloc_commit
IB/uverbs: Revise the placement of get/puts on uobject
IB/uverbs: Clarify and revise uverbs_close_fd
IB/uverbs: Revise and clarify the rwsem and uobjects_lock
IB/uverbs: Rework the locking for cleaning up the ucontext
IB/uverbs: Always propagate errors from rdma_alloc_commit_uobject()
IB/uverbs: Move the FD uobj type struct file allocation to alloc_commit
IB/mlx5: Use the ucontext from the uobj, not the file
IB/uverbs: Fix locking around struct ib_uverbs_file ucontext
IB/usnic: usnic should not select INFINIBAND_USER_ACCESS
net/xprtrdma: Restore needed argument to ib_post_send
IB/cache: Restore compatibility for ib_query_gid
IB/uverbs: Add UVERBS_ATTR_FLAGS_IN to the specs language
IB/uverbs: Remove rdma_explicit_destroy() from the ioctl methods
IB/uverbs: Make the write path destroy methods use the same flow as ioctl
IB/uverbs: Consolidate uobject destruction
IB/uverbs: Convert 'bool exclusive' into an enum
IB/uverbs: Allow RDMA_REMOVE_DESTROY to work concurrently with disassociate
IB/uverbs: Allow uobject allocation to work concurrently with disassociate
IB/uverbs: Lower the test for ongoing disassociation
IB/uverbs: Do not pass struct ib_device to the write based methods
IB/uverbs: Do not pass struct ib_device to the ioctl methods
IB/uverbs: Do not block disassociate during write()
IB/uverbs: Allow all DESTROY commands to succeed after disassociate
IB/ipoib: Get rid of IPOIB_FLAG_GOING_DOWN
IB/ipoib: Move all uninit code into ndo_uninit
IB/ipoib: Move init code to ndo_init
RDMA/netdev: Use priv_destructor for netdev cleanup
IB/ipoib: Get rid of the sysfs_mutex
IB/ipoib: Do not remove child devices from within the ndo_uninit
IB/ipoib: Maintain the child_intfs list from ndo_init/uninit
IB/ipoib: Consolidate checking of the proposed child interface
overflow.h: Add arithmetic shift helper
IB/uverbs: Fix reading of 32 bit flags
IB/uverbs: Have the core code create the uverbs_root_spec
IB/uverbs: Build the specs into a radix tree at runtime
IB/uverbs: Use uverbs_api to manage the object type inside the uobject
IB/uverbs: Provide implementation private memory for the uverbs_attr_bundle
IB/uverbs: Remove the ib_uverbs_attr pointer from each attr
IB/uverbs: Add a simple allocator to uverbs_attr_bundle
IB/uverbs: Use uverbs_alloc for allocations
IB/uverbs: Use uverbs_api to unmarshal ioctl commands
IB/uverbs: Remove struct uverbs_root_spec and all supporting code
IB/uverbs: Do not check for device disassociation during ioctl
IB/ucm: Fix compiling ucm.c
IB/mlx5: Fix leaking stack memory to userspace
Merge tag 'v4.18' into rdma.git for-next
Revert "net/smc: Replace ib_query_gid with rdma_get_gid_attr"
Merge branch 'linus/master' into rdma.git for-next
Kamal Heib (11):
RDMA/ipoib: Use min_t() macro instead of min()
RDMA/ipoib: Prefer unsigned int to bare use of unsigned
RDMA/ipoib: Fix use of sizeof()
RDMA/ipoib: Fix return code from ipoib_cm_dev_init
RDMA/mlx5: Remove set but not used variables
RDMA/providers: Fix return value from create_srq callbacks
RDMA/ipoib: Fix check for return code from ib_create_srq
RDMA/core: Remove {create,destroy}_ah from mandatory verbs
RDMA/core: Check for verbs callbacks before using them
RDMA/providers: Remove pointless functions
RDMA: Fix return code check in rdma_set_cq_moderation
Kees Cook (1):
test_overflow: Add shift overflow tests
Leon Romanovsky (16):
RDMA/nldev: Return port capability flag for IB only
RDMA/uverbs: Refactor flow_resources_alloc() function
RDMA/mlx5: Refactor transport domain checks
RDMA/verbs: Drop kernel variant of create_flow
RDMA/verbs: Drop kernel variant of destroy_flow
RDMA/uverbs: Don't overwrite NULL pointer with ZERO_SIZE_PTR
RDMA/umem: Don't check for a negative return value of dma_map_sg_attrs()
RDMA/uverbs: Remove redundant check
RDMA/mlx5: Don't leak UARs in case of free fails
RDMA/i40w: Hold read semaphore while looking after VMA
RDMA/mlx5: Remove unused port number parameter
RDMA/mlx5: Melt consecutive calls to alloc_bfreg() in one call
RDMA/mlx5: Check that supplied blue flame index doesn't overflow
RDMA/umem: Don't hold mmap_sem for too long
RDMA/umem: Refactor exit paths in ib_umem_get
RDMA/mlx5: Fix shift overflow in mlx5_ib_create_wq
Lijun Ou (12):
RDMA/hns: Do not overwrite the error code during error unwind in hns_roce_init
RDMA/hns: Add 50GE type of hnae3 device match
RDMA/hns: Return correct error code from hns_roce_v1_rsv_lp_qp()
RDMA/hns: Add illegal hop_num judgement
RDMA/hns: Use delay instead of usleep
RDMA/hns: Update the data type of immediate data
RDMA/hns: Enable modify_cq for uverbs.
RDMA/hns: Only assgin the fields of the av if IB_QP_AV bit is set
RDMA/hns: Assign the value for vlan field of qp context
RDMA/hns: Modify qp will return errno when qp type is illegal
RDMA/hns: Use macro instead of magic number
RDMA/hns: Program the tclass and flow label into the hardware
Maor Gottlieb (1):
IB/mlx5: Fix GRE flow specification
Matan Barak (5):
IB/uverbs: Export uverbs idr and fd types
IB/uverbs: Refactor uverbs_finalize_objects
IB/uverbs: Add PTR_IN attributes that are allocated/copied automatically
IB/uverbs: Add a macro to define a type with no kernel known size
IB/uverbs: Allow an empty namespace in ioctl() framework
Matthew Wilcox (1):
IB/mad: Agent registration is process context only
Michael J. Ruhl (3):
IB/hfi1: Remove INTx support and simplify MSIx usage
IB/hfi1: Set in_use_ctxts bits for user ctxts only
IB/hfi1: Remove incorrect call to do_interrupt callback
Mike Marciniszyn (10):
IB/hfi1: Move normal functions from hfi1_devdata to const array
IB/hfi1: Move rhf_offset from devdata to ctxtdata
IB/hfi1: Remove rcvhdrsize
IB/rdmavt, IB/hfi1: Create device dependent s_flags
IB/hfi1: Remove rcvhdrq_size
IB/hfi1: Remove rcvctrl from ctxtdata
IB/hfi1: Rightsize ctxt_eager_bufs fields
IB/hfi1: Remove unused/writeonly devdata fields
IB/hfi1: Remove caches of chip CSRs
IB/hfi1: Reorg ctxtdata and rightsize fields
Neil Horman (1):
vmw_pvrdma: Release netdev when vmxnet3 module is removed
Or Gerlitz (1):
MAINTAINERS: Moving out...
Parav Pandit (45):
IB/core: Do not set the gid type when reserving default entries
IB/core: Store default GID property per-table instead of per-entry
IB/core: Introduce GID entry reference counts
RDMA: Use GID from the ib_gid_attr during the add_gid() callback
IB/core: Introduce GID attribute get, put and hold APIs
IB/core: Replace ib_query_gid with rdma_get_gid_attr
net/smc: Replace ib_query_gid with rdma_get_gid_attr
IB: Replace ib_query_gid/ib_get_cached_gid with rdma_query_gid
IB/rxe: Use rdma GID API
IB: Ensure that all rdma_ah_attr's are zero initialized
IB/core: Tidy ib_resolve_eth_dmac
RDMA: Convert drivers to use sgid_attr instead of sgid_index
IB/mlx4: Use GID attribute from ah attribute
RDMA: Convert drivers to use the AH's sgid_attr in post_wr paths
RDMA/cma: Consider net namespace while leaving multicast group
IB/core: Free GID table entry during GID deletion
IB: Make ib_init_ah_attr_from_wc set sgid_attr
IB: Make ib_init_ah_from_mcmember set sgid_attr
IB: Make init_ah_attr_grh_fields set sgid_attr
IB/cm: Keep track of the sgid_attr that created the cm id
IB/cm: Pass the sgid_attr through various events
IB/cm: Replace members of sa_path_rec with 'struct sgid_attr *'
IB/cm: Use sgid_attr from the AV
IB/mlx5: Honor cnt_set_id_valid flag instead of set_id
IB/core: Simplify check for RoCE route resolve
IB/core: Introduce and use sgid_attr in CM requests
RDMA/cma: Consider netdevice for RoCE ports
RDMA/cma: Do not ignore net namespace for unbound cm_id
RDMA/cma: Initialize resource type in __rdma_create_id()
RDMA/cma: Simplify rdma_resolve_addr() error flow
RDMA/core: Constify dst_addr argument
RDMA/cma: Constify path record, ib_cm_event, listen_id pointers
RDMA/cma: Get rid of 1 bit boolean
RDMA/core: Return bool instead of int
RDMA/core: Avoid holding lock while initializing fields on stack
RDMA/core: Simplify gid type check in cma_acquire_dev()
RDMA/core: Prefix _ib to IB/RoCE specific functions
IB/ucm: Initialize sgid request GID attribute pointer
IB/core: Add comment for change upper netevent handling
IB/core: Avoid confusing del_netdev_default_ips
IB/core: Delete lower netdevice default GID entries in bonding scenario
IB/core: Consider adding default GIDs of bond device
IB/core: Add default GIDs of the bond master netdev
IB/core: Update GID entries for netdevice whose mac address changes
IB/core: Change filter function return type from int to bool
Potnuri Bharat Teja (3):
iw_cxgb4: RDMA write with immediate support
iw_cxgb4: Support FW write completion WR
iw_cxgb4: pass window scale in flowc work request
Qing Huang (1):
IB/mlx5: avoid excessive warning msgs when creating VFs on 2nd port
Raju Rangoju (3):
rdma/cxgb4: Add support for 64Byte cqes
rdma/cxgb4: Add support for srq functions & structs
rdma/cxgb4: Add support for kernel mode SRQ's
Sagi Grimberg (1):
IB/iser: set can_queue earlier to allow setting higher queue depth
Shiraz Saleem (1):
i40iw: Reorganize acquire/release of locks in i40iw_manage_apbvt
Steve Wise (1):
IB/core: add max_send_sge and max_recv_sge attributes
Talat Batheesh (1):
IB/mlx5: Support RoCE ICRC encapsulated error counter
Tarick Bedeir (1):
IB/mlx4: Test port number before querying type.
Varsha Rao (1):
IB/core: Remove extra parentheses
Vijay Immanuel (3):
IB/rxe: increase max MR limit
IB/rxe: support for 802.1q VLAN on the listener
IB/rxe: don't clear the tx queue on every transfer
Wei Yongjun (1):
IB/ipoib: Fix error return code in ipoib_dev_init()
Yishai Hadas (22):
IB/core: Introduce DECLARE_UVERBS_GLOBAL_METHODS
IB/core: Expose ib_ucontext from a given ib_uverbs_file
IB/mlx5: Introduce DEVX
IB/mlx5: Add support for DEVX general command
IB/mlx5: Add obj create and destroy functionality
IB/mlx5: Add DEVX support for modify and query commands
IB/mlx5: Add support for DEVX query UAR
IB/mlx5: Add DEVX support for memory registration
IB/mlx5: Add DEVX query EQN support
IB/mlx5: Expose DEVX tree
IB/mlx5: Add support for drain SQ & RQ
IB/mlx4: Add support for drain SQ & RQ
IB: Improve uverbs_cleanup_ucontext algorithm
IB: Enable uverbs_destroy_def_handler to be used by drivers
net/mlx5: Add forward compatible support for the FTE match data
net/mlx5: Add support for flow table destination number
IB/mlx5: Introduce flow steering matcher uapi object
IB: Support ib_flow creation in drivers
IB/mlx5: Introduce driver create and destroy flow methods
IB/mlx5: Support adding flow steering rule by raw description
IB/mlx5: Add support for a flow table destination for driver flow steering
IB/mlx5: Enable driver uapi commands for flow steering
Yixian Liu (1):
RDMA/hns: Support flush cqe for hip08 in kernel space
Yonatan Cohen (1):
IB/mlx5: Expose dump and fill memory key
Yuval Bason (3):
qedr: Add wrapping generic structure for qpidr and adjust idr routines.
qedr: Add support for kernel mode SRQ's
qedr: Add user space support for SRQ
Yuval Shaia (1):
RDMA/vmw_pvrdma: Delete unused function
Zhu Yanjun (2):
IB/rxe: avoid unnecessary NULL check
IB/rxe: Drop QP0 silently
oulijun (5):
RDMA/hns: Fix endian conversions and annotations
RDMA/hns: Add TSQ link table support
RDMA/hns: Add TPQ link table support
RDMA/hns: Update the implementation of set_gid
RDMA/hns: Update the implementation of set_mac
willy@infradead.org (2):
IDR: Expose the XArray lock
IB/mad: Use IDR for agent IDs
.mailmap | 2 +
MAINTAINERS | 16 +-
drivers/infiniband/Kconfig | 2 +-
drivers/infiniband/core/Makefile | 5 +-
drivers/infiniband/core/addr.c | 16 +-
drivers/infiniband/core/cache.c | 724 ++++++++-----
drivers/infiniband/core/cm.c | 147 +--
drivers/infiniband/core/cm_msgs.h | 7 -
drivers/infiniband/core/cma.c | 362 ++++---
drivers/infiniband/core/core_priv.h | 4 +-
drivers/infiniband/core/device.c | 23 +-
drivers/infiniband/core/mad.c | 113 +-
drivers/infiniband/core/mad_priv.h | 7 +-
drivers/infiniband/core/multicast.c | 40 +-
drivers/infiniband/core/nldev.c | 16 +-
drivers/infiniband/core/rdma_core.c | 1018 +++++++++++-------
drivers/infiniband/core/rdma_core.h | 96 +-
drivers/infiniband/core/roce_gid_mgmt.c | 306 ++++--
drivers/infiniband/core/rw.c | 8 +-
drivers/infiniband/core/sa_query.c | 138 ++-
drivers/infiniband/core/sysfs.c | 66 +-
drivers/infiniband/core/ucm.c | 15 +-
drivers/infiniband/core/umem.c | 62 +-
drivers/infiniband/core/user_mad.c | 1 +
drivers/infiniband/core/uverbs.h | 34 +-
drivers/infiniband/core/uverbs_cmd.c | 599 +++++------
drivers/infiniband/core/uverbs_ioctl.c | 709 ++++++++-----
drivers/infiniband/core/uverbs_ioctl_merge.c | 664 ------------
drivers/infiniband/core/uverbs_main.c | 232 ++--
drivers/infiniband/core/uverbs_marshall.c | 2 -
drivers/infiniband/core/uverbs_std_types.c | 200 ++--
.../infiniband/core/uverbs_std_types_counters.c | 108 +-
drivers/infiniband/core/uverbs_std_types_cq.c | 154 ++-
drivers/infiniband/core/uverbs_std_types_dm.c | 61 +-
.../infiniband/core/uverbs_std_types_flow_action.c | 170 +--
drivers/infiniband/core/uverbs_std_types_mr.c | 88 +-
drivers/infiniband/core/uverbs_uapi.c | 346 ++++++
drivers/infiniband/core/verbs.c | 523 ++++++---
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 144 +--
drivers/infiniband/hw/bnxt_re/ib_verbs.h | 15 +-
drivers/infiniband/hw/bnxt_re/qplib_fp.c | 12 +-
drivers/infiniband/hw/bnxt_re/qplib_sp.c | 4 +-
drivers/infiniband/hw/cxgb3/iwch_cq.c | 64 +-
drivers/infiniband/hw/cxgb3/iwch_provider.c | 44 +-
drivers/infiniband/hw/cxgb3/iwch_provider.h | 8 +-
drivers/infiniband/hw/cxgb3/iwch_qp.c | 32 +-
drivers/infiniband/hw/cxgb4/cm.c | 90 +-
drivers/infiniband/hw/cxgb4/cq.c | 269 +++--
drivers/infiniband/hw/cxgb4/device.c | 20 +-
drivers/infiniband/hw/cxgb4/ev.c | 5 +-
drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 57 +-
drivers/infiniband/hw/cxgb4/provider.c | 56 +-
drivers/infiniband/hw/cxgb4/qp.c | 1051 +++++++++++++++---
drivers/infiniband/hw/cxgb4/resource.c | 51 +-
drivers/infiniband/hw/cxgb4/t4.h | 164 ++-
drivers/infiniband/hw/cxgb4/t4fw_ri_api.h | 68 +-
drivers/infiniband/hw/hfi1/chip.c | 205 ++--
drivers/infiniband/hw/hfi1/chip.h | 30 +
drivers/infiniband/hw/hfi1/driver.c | 63 +-
drivers/infiniband/hw/hfi1/file_ops.c | 10 +-
drivers/infiniband/hw/hfi1/hfi.h | 243 ++---
drivers/infiniband/hw/hfi1/init.c | 44 +-
drivers/infiniband/hw/hfi1/pcie.c | 19 +-
drivers/infiniband/hw/hfi1/pio.c | 14 +-
drivers/infiniband/hw/hfi1/qp.c | 6 +-
drivers/infiniband/hw/hfi1/qp.h | 24 +-
drivers/infiniband/hw/hfi1/rc.c | 6 +-
drivers/infiniband/hw/hfi1/ruc.c | 14 +-
drivers/infiniband/hw/hfi1/sdma.c | 10 +-
drivers/infiniband/hw/hfi1/verbs.c | 18 +-
drivers/infiniband/hw/hfi1/vnic_main.c | 12 +-
drivers/infiniband/hw/hns/hns_roce_ah.c | 21 +-
drivers/infiniband/hw/hns/hns_roce_common.h | 9 -
drivers/infiniband/hw/hns/hns_roce_db.c | 2 +
drivers/infiniband/hw/hns/hns_roce_device.h | 45 +-
drivers/infiniband/hw/hns/hns_roce_hem.c | 7 +-
drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 430 +++++---
drivers/infiniband/hw/hns/hns_roce_hw_v1.h | 2 +-
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 698 ++++++++++--
drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 136 ++-
drivers/infiniband/hw/hns/hns_roce_main.c | 15 +-
drivers/infiniband/hw/hns/hns_roce_pd.c | 2 +-
drivers/infiniband/hw/hns/hns_roce_qp.c | 55 +-
drivers/infiniband/hw/i40iw/Kconfig | 1 +
drivers/infiniband/hw/i40iw/i40iw_cm.c | 26 +-
drivers/infiniband/hw/i40iw/i40iw_hw.c | 83 +-
drivers/infiniband/hw/i40iw/i40iw_verbs.c | 54 +-
drivers/infiniband/hw/mlx4/ah.c | 70 +-
drivers/infiniband/hw/mlx4/mad.c | 29 +-
drivers/infiniband/hw/mlx4/main.c | 41 +-
drivers/infiniband/hw/mlx4/mlx4_ib.h | 21 +-
drivers/infiniband/hw/mlx4/qp.c | 421 ++++----
drivers/infiniband/hw/mlx4/srq.c | 4 +-
drivers/infiniband/hw/mlx5/Makefile | 2 +
drivers/infiniband/hw/mlx5/ah.c | 11 +-
drivers/infiniband/hw/mlx5/cmd.c | 12 +
drivers/infiniband/hw/mlx5/cmd.h | 1 +
drivers/infiniband/hw/mlx5/cong.c | 9 +-
drivers/infiniband/hw/mlx5/cq.c | 2 +-
drivers/infiniband/hw/mlx5/devx.c | 1119 ++++++++++++++++++++
drivers/infiniband/hw/mlx5/flow.c | 252 +++++
drivers/infiniband/hw/mlx5/gsi.c | 8 +-
drivers/infiniband/hw/mlx5/main.c | 570 +++++++---
drivers/infiniband/hw/mlx5/mlx5_ib.h | 85 +-
drivers/infiniband/hw/mlx5/mr.c | 34 +-
drivers/infiniband/hw/mlx5/qp.c | 294 +++--
drivers/infiniband/hw/mlx5/srq.c | 4 +-
drivers/infiniband/hw/mthca/mthca_av.c | 5 +-
drivers/infiniband/hw/mthca/mthca_dev.h | 24 +-
drivers/infiniband/hw/mthca/mthca_provider.c | 7 +-
drivers/infiniband/hw/mthca/mthca_qp.c | 24 +-
drivers/infiniband/hw/mthca/mthca_srq.c | 8 +-
drivers/infiniband/hw/nes/nes.h | 2 +-
drivers/infiniband/hw/nes/nes_cm.c | 8 +-
drivers/infiniband/hw/nes/nes_hw.c | 6 +-
drivers/infiniband/hw/nes/nes_verbs.c | 74 +-
drivers/infiniband/hw/ocrdma/ocrdma_ah.c | 32 +-
drivers/infiniband/hw/ocrdma/ocrdma_ah.h | 1 -
drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 26 +-
drivers/infiniband/hw/ocrdma/ocrdma_main.c | 1 -
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 50 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.h | 12 +-
drivers/infiniband/hw/qedr/main.c | 107 +-
drivers/infiniband/hw/qedr/qedr.h | 43 +-
drivers/infiniband/hw/qedr/qedr_hsi_rdma.h | 11 +
drivers/infiniband/hw/qedr/qedr_iw_cm.c | 12 +-
drivers/infiniband/hw/qedr/qedr_roce_cm.c | 37 +-
drivers/infiniband/hw/qedr/qedr_roce_cm.h | 8 +-
drivers/infiniband/hw/qedr/verbs.c | 625 +++++++++--
drivers/infiniband/hw/qedr/verbs.h | 17 +-
drivers/infiniband/hw/qib/qib_verbs.c | 3 +-
drivers/infiniband/hw/qib/qib_verbs.h | 5 +-
drivers/infiniband/hw/usnic/Kconfig | 2 +-
drivers/infiniband/hw/usnic/usnic_fwd.c | 4 +-
drivers/infiniband/hw/usnic/usnic_fwd.h | 2 +-
drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 10 +-
drivers/infiniband/hw/usnic/usnic_ib_verbs.h | 8 +-
drivers/infiniband/hw/usnic/usnic_uiom.c | 40 +-
drivers/infiniband/hw/usnic/usnic_uiom.h | 5 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma.h | 5 -
drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 26 -
drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 52 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 11 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c | 7 -
drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c | 6 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 15 +-
drivers/infiniband/sw/rdmavt/ah.c | 4 +-
drivers/infiniband/sw/rdmavt/qp.c | 27 +-
drivers/infiniband/sw/rdmavt/qp.h | 12 +-
drivers/infiniband/sw/rdmavt/srq.c | 2 +-
drivers/infiniband/sw/rxe/rxe.c | 3 +-
drivers/infiniband/sw/rxe/rxe_av.c | 30 +-
drivers/infiniband/sw/rxe/rxe_comp.c | 1 +
drivers/infiniband/sw/rxe/rxe_loc.h | 5 +-
drivers/infiniband/sw/rxe/rxe_net.c | 67 +-
drivers/infiniband/sw/rxe/rxe_param.h | 2 +-
drivers/infiniband/sw/rxe/rxe_qp.c | 31 +-
drivers/infiniband/sw/rxe/rxe_recv.c | 24 +-
drivers/infiniband/sw/rxe/rxe_resp.c | 5 +
drivers/infiniband/sw/rxe/rxe_verbs.c | 70 +-
drivers/infiniband/ulp/ipoib/ipoib.h | 32 +-
drivers/infiniband/ulp/ipoib/ipoib_cm.c | 81 +-
drivers/infiniband/ulp/ipoib/ipoib_ethtool.c | 2 +-
drivers/infiniband/ulp/ipoib/ipoib_fs.c | 6 +-
drivers/infiniband/ulp/ipoib/ipoib_ib.c | 15 +-
drivers/infiniband/ulp/ipoib/ipoib_main.c | 444 ++++----
drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 7 +-
drivers/infiniband/ulp/ipoib/ipoib_netlink.c | 23 -
drivers/infiniband/ulp/ipoib/ipoib_verbs.c | 8 +-
drivers/infiniband/ulp/ipoib/ipoib_vlan.c | 261 +++--
drivers/infiniband/ulp/iser/iscsi_iser.c | 16 +-
drivers/infiniband/ulp/iser/iser_memory.c | 5 +-
drivers/infiniband/ulp/iser/iser_verbs.c | 14 +-
drivers/infiniband/ulp/isert/ib_isert.c | 26 +-
drivers/infiniband/ulp/srp/ib_srp.c | 27 +-
drivers/infiniband/ulp/srpt/ib_srpt.c | 71 +-
drivers/infiniband/ulp/srpt/ib_srpt.h | 4 +-
drivers/net/ethernet/chelsio/cxgb4/t4_msg.h | 4 +-
drivers/net/ethernet/mellanox/mlx5/core/cmd.c | 5 +
.../mellanox/mlx5/core/diag/fs_tracepoint.c | 3 +
drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c | 24 +-
drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 81 +-
.../net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c | 37 +-
drivers/nvme/host/rdma.c | 13 +-
drivers/nvme/target/rdma.c | 13 +-
fs/cifs/smbdirect.c | 32 +-
include/linux/idr.h | 11 +
include/linux/mlx5/driver.h | 3 -
include/linux/mlx5/fs.h | 1 +
include/linux/mlx5/mlx5_ifc.h | 5 +
include/linux/overflow.h | 31 +
include/rdma/ib.h | 4 +-
include/rdma/ib_addr.h | 6 +-
include/rdma/ib_cache.h | 83 +-
include/rdma/ib_cm.h | 18 +-
include/rdma/ib_mad.h | 33 +
include/rdma/ib_sa.h | 49 +-
include/rdma/ib_verbs.h | 257 +++--
include/rdma/opa_addr.h | 2 +-
include/rdma/rdma_cm.h | 2 +-
include/rdma/rdmavt_qp.h | 30 +-
include/rdma/uverbs_ioctl.h | 627 ++++++-----
include/rdma/uverbs_named_ioctl.h | 109 +-
include/rdma/uverbs_std_types.h | 96 +-
include/rdma/uverbs_types.h | 133 +--
include/uapi/rdma/cxgb4-abi.h | 32 +-
include/uapi/rdma/hns-abi.h | 1 +
include/uapi/rdma/ib_user_ioctl_cmds.h | 7 +-
include/uapi/rdma/ib_user_ioctl_verbs.h | 58 +
include/uapi/rdma/ib_user_verbs.h | 5 +-
include/uapi/rdma/mlx5-abi.h | 6 +-
include/uapi/rdma/mlx5_user_ioctl_cmds.h | 121 +++
include/uapi/rdma/qedr-abi.h | 17 +
include/uapi/rdma/rdma_user_ioctl_cmds.h | 7 +-
lib/test_overflow.c | 198 +++-
net/9p/trans_rdma.c | 8 +-
net/core/secure_seq.c | 1 +
net/rds/ib.c | 2 +-
net/rds/ib_frmr.c | 11 +-
net/rds/ib_recv.c | 6 +-
net/rds/ib_send.c | 6 +-
net/smc/smc_core.c | 1 +
net/smc/smc_ib.c | 1 +
net/smc/smc_tx.c | 3 +-
net/smc/smc_wr.c | 9 +-
net/smc/smc_wr.h | 3 +-
net/sunrpc/xprtrdma/fmr_ops.c | 4 +-
net/sunrpc/xprtrdma/frwr_ops.c | 7 +-
net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 3 +-
net/sunrpc/xprtrdma/svc_rdma_rw.c | 3 +-
net/sunrpc/xprtrdma/svc_rdma_sendto.c | 3 +-
net/sunrpc/xprtrdma/svc_rdma_transport.c | 2 +-
net/sunrpc/xprtrdma/verbs.c | 5 +-
233 files changed, 12380 insertions(+), 7059 deletions(-)
delete mode 100644 drivers/infiniband/core/uverbs_ioctl_merge.c
create mode 100644 drivers/infiniband/core/uverbs_uapi.c
create mode 100644 drivers/infiniband/hw/mlx5/devx.c
create mode 100644 drivers/infiniband/hw/mlx5/flow.c
Merge resolution diff:
diff --cc drivers/infiniband/core/rdma_core.c
index 12e7c6c102c136,475910ffbcb680..6eb64c6f08028b
--- a/drivers/infiniband/core/rdma_core.c
+++ b/drivers/infiniband/core/rdma_core.c
@@@ -77,201 -120,19 +77,201 @@@ static int uverbs_try_lock_object(struc
* concurrently, setting the counter to zero is enough for releasing
* this lock.
*/
- if (!exclusive)
+ switch (mode) {
+ case UVERBS_LOOKUP_READ:
- return __atomic_add_unless(&uobj->usecnt, 1, -1) == -1 ?
+ return atomic_fetch_add_unless(&uobj->usecnt, 1, -1) == -1 ?
-EBUSY : 0;
+ case UVERBS_LOOKUP_WRITE:
+ /* lock is exclusive */
+ return atomic_cmpxchg(&uobj->usecnt, 0, -1) == 0 ? 0 : -EBUSY;
+ case UVERBS_LOOKUP_DESTROY:
+ return 0;
+ }
+ return 0;
+}
+
+static void assert_uverbs_usecnt(struct ib_uobject *uobj,
+ enum rdma_lookup_mode mode)
+{
+#ifdef CONFIG_LOCKDEP
+ switch (mode) {
+ case UVERBS_LOOKUP_READ:
+ WARN_ON(atomic_read(&uobj->usecnt) <= 0);
+ break;
+ case UVERBS_LOOKUP_WRITE:
+ WARN_ON(atomic_read(&uobj->usecnt) != -1);
+ break;
+ case UVERBS_LOOKUP_DESTROY:
+ break;
+ }
+#endif
+}
+
+/*
+ * This must be called with the hw_destroy_rwsem locked for read or write,
+ * also the uobject itself must be locked for write.
+ *
+ * Upon return the HW object is guaranteed to be destroyed.
+ *
+ * For RDMA_REMOVE_ABORT, the hw_destroy_rwsem is not required to be held,
+ * however the type's allocat_commit function cannot have been called and the
+ * uobject cannot be on the uobjects_lists
+ *
+ * For RDMA_REMOVE_DESTROY the caller shold be holding a kref (eg via
+ * rdma_lookup_get_uobject) and the object is left in a state where the caller
+ * needs to call rdma_lookup_put_uobject.
+ *
+ * For all other destroy modes this function internally unlocks the uobject
+ * and consumes the kref on the uobj.
+ */
+static int uverbs_destroy_uobject(struct ib_uobject *uobj,
+ enum rdma_remove_reason reason)
+{
+ struct ib_uverbs_file *ufile = uobj->ufile;
+ unsigned long flags;
+ int ret;
+
+ lockdep_assert_held(&ufile->hw_destroy_rwsem);
+ assert_uverbs_usecnt(uobj, UVERBS_LOOKUP_WRITE);
+
+ if (uobj->object) {
+ ret = uobj->uapi_object->type_class->destroy_hw(uobj, reason);
+ if (ret) {
+ if (ib_is_destroy_retryable(ret, reason, uobj))
+ return ret;
+
+ /* Nothing to be done, dangle the memory and move on */
+ WARN(true,
+ "ib_uverbs: failed to remove uobject id %d, driver err=%d",
+ uobj->id, ret);
+ }
+
+ uobj->object = NULL;
+ }
- /* lock is either WRITE or DESTROY - should be exclusive */
- return atomic_cmpxchg(&uobj->usecnt, 0, -1) == 0 ? 0 : -EBUSY;
+ if (reason == RDMA_REMOVE_ABORT) {
+ WARN_ON(!list_empty(&uobj->list));
+ WARN_ON(!uobj->context);
+ uobj->uapi_object->type_class->alloc_abort(uobj);
+ }
+
+ uobj->context = NULL;
+
+ /*
+ * For DESTROY the usecnt is held write locked, the caller is expected
+ * to put it unlock and put the object when done with it. Only DESTROY
+ * can remove the IDR handle.
+ */
+ if (reason != RDMA_REMOVE_DESTROY)
+ atomic_set(&uobj->usecnt, 0);
+ else
+ uobj->uapi_object->type_class->remove_handle(uobj);
+
+ if (!list_empty(&uobj->list)) {
+ spin_lock_irqsave(&ufile->uobjects_lock, flags);
+ list_del_init(&uobj->list);
+ spin_unlock_irqrestore(&ufile->uobjects_lock, flags);
+
+ /*
+ * Pairs with the get in rdma_alloc_commit_uobject(), could
+ * destroy uobj.
+ */
+ uverbs_uobject_put(uobj);
+ }
+
+ /*
+ * When aborting the stack kref remains owned by the core code, and is
+ * not transferred into the type. Pairs with the get in alloc_uobj
+ */
+ if (reason == RDMA_REMOVE_ABORT)
+ uverbs_uobject_put(uobj);
+
+ return 0;
}
-static struct ib_uobject *alloc_uobj(struct ib_ucontext *context,
- const struct uverbs_obj_type *type)
+/*
+ * This calls uverbs_destroy_uobject() using the RDMA_REMOVE_DESTROY
+ * sequence. It should only be used from command callbacks. On success the
+ * caller must pair this with rdma_lookup_put_uobject(LOOKUP_WRITE). This
+ * version requires the caller to have already obtained an
+ * LOOKUP_DESTROY uobject kref.
+ */
+int uobj_destroy(struct ib_uobject *uobj)
{
- struct ib_uobject *uobj = kzalloc(type->obj_size, GFP_KERNEL);
+ struct ib_uverbs_file *ufile = uobj->ufile;
+ int ret;
+
+ down_read(&ufile->hw_destroy_rwsem);
+
+ ret = uverbs_try_lock_object(uobj, UVERBS_LOOKUP_WRITE);
+ if (ret)
+ goto out_unlock;
+
+ ret = uverbs_destroy_uobject(uobj, RDMA_REMOVE_DESTROY);
+ if (ret) {
+ atomic_set(&uobj->usecnt, 0);
+ goto out_unlock;
+ }
+out_unlock:
+ up_read(&ufile->hw_destroy_rwsem);
+ return ret;
+}
+
+/*
+ * uobj_get_destroy destroys the HW object and returns a handle to the uobj
+ * with a NULL object pointer. The caller must pair this with
+ * uverbs_put_destroy.
+ */
+struct ib_uobject *__uobj_get_destroy(const struct uverbs_api_object *obj,
+ u32 id, struct ib_uverbs_file *ufile)
+{
+ struct ib_uobject *uobj;
+ int ret;
+
+ uobj = rdma_lookup_get_uobject(obj, ufile, id, UVERBS_LOOKUP_DESTROY);
+ if (IS_ERR(uobj))
+ return uobj;
+
+ ret = uobj_destroy(uobj);
+ if (ret) {
+ rdma_lookup_put_uobject(uobj, UVERBS_LOOKUP_DESTROY);
+ return ERR_PTR(ret);
+ }
+
+ return uobj;
+}
+
+/*
+ * Does both uobj_get_destroy() and uobj_put_destroy(). Returns success_res
+ * on success (negative errno on failure). For use by callers that do not need
+ * the uobj.
+ */
+int __uobj_perform_destroy(const struct uverbs_api_object *obj, u32 id,
+ struct ib_uverbs_file *ufile, int success_res)
+{
+ struct ib_uobject *uobj;
+
+ uobj = __uobj_get_destroy(obj, id, ufile);
+ if (IS_ERR(uobj))
+ return PTR_ERR(uobj);
+
+ rdma_lookup_put_uobject(uobj, UVERBS_LOOKUP_WRITE);
+ return success_res;
+}
+
+/* alloc_uobj must be undone by uverbs_destroy_uobject() */
+static struct ib_uobject *alloc_uobj(struct ib_uverbs_file *ufile,
+ const struct uverbs_api_object *obj)
+{
+ struct ib_uobject *uobj;
+ struct ib_ucontext *ucontext;
+
+ ucontext = ib_uverbs_get_ucontext(ufile);
+ if (IS_ERR(ucontext))
+ return ERR_CAST(ucontext);
+
+ uobj = kzalloc(obj->type_attrs->obj_size, GFP_KERNEL);
if (!uobj)
return ERR_PTR(-ENOMEM);
/*
diff --cc drivers/nvme/host/rdma.c
index 72e8e8e7d2d7cd,0805fa6215eefb..dc042017c293ad
--- a/drivers/nvme/host/rdma.c
+++ b/drivers/nvme/host/rdma.c
@@@ -374,6 -377,8 +377,8 @@@ nvme_rdma_find_get_device(struct rdma_c
goto out_free_pd;
}
+ ndev->num_inline_segments = min(NVME_RDMA_MAX_INLINE_SEGMENTS,
- ndev->dev->attrs.max_sge - 1);
++ ndev->dev->attrs.max_send_sge - 1);
list_add(&ndev->entry, &device_list);
out_unlock:
mutex_unlock(&device_list_mutex);
diff --cc drivers/nvme/target/rdma.c
index 1a642e214a4ce2,e7f43d1e17797f..3533e918ea376b
--- a/drivers/nvme/target/rdma.c
+++ b/drivers/nvme/target/rdma.c
@@@ -382,13 -435,22 +435,21 @@@ static void nvmet_rdma_free_rsps(struc
static int nvmet_rdma_post_recv(struct nvmet_rdma_device *ndev,
struct nvmet_rdma_cmd *cmd)
{
- struct ib_recv_wr *bad_wr;
+ int ret;
+
ib_dma_sync_single_for_device(ndev->device,
cmd->sge[0].addr, cmd->sge[0].length,
DMA_FROM_DEVICE);
if (ndev->srq)
- return ib_post_srq_recv(ndev->srq, &cmd->wr, NULL);
- return ib_post_recv(cmd->queue->cm_id->qp, &cmd->wr, NULL);
- ret = ib_post_srq_recv(ndev->srq, &cmd->wr, &bad_wr);
++ ret = ib_post_srq_recv(ndev->srq, &cmd->wr, NULL);
+ else
- ret = ib_post_recv(cmd->queue->cm_id->qp, &cmd->wr, &bad_wr);
++ ret = ib_post_recv(cmd->queue->cm_id->qp, &cmd->wr, NULL);
+
+ if (unlikely(ret))
+ pr_err("post_recv cmd failed\n");
+
+ return ret;
}
static void nvmet_rdma_process_wr_wait_list(struct nvmet_rdma_queue *queue)
@@@ -491,7 -553,7 +552,7 @@@ static void nvmet_rdma_queue_response(s
rsp->send_sge.addr, rsp->send_sge.length,
DMA_TO_DEVICE);
- if (ib_post_send(cm_id->qp, first_wr, NULL)) {
- if (unlikely(ib_post_send(cm_id->qp, first_wr, &bad_wr))) {
++ if (unlikely(ib_post_send(cm_id->qp, first_wr, NULL))) {
pr_err("sending cmd response failed\n");
nvmet_rdma_release_rsp(rsp);
}
@@@ -805,6 -890,18 +889,18 @@@ nvmet_rdma_find_get_device(struct rdma_
if (!ndev)
goto out_err;
+ inline_page_count = num_pages(port->inline_data_size);
+ inline_sge_count = max(cm_id->device->attrs.max_sge_rd,
- cm_id->device->attrs.max_sge) - 1;
++ cm_id->device->attrs.max_recv_sge) - 1;
+ if (inline_page_count > inline_sge_count) {
+ pr_warn("inline_data_size %d cannot be supported by device %s. Reducing to %lu.\n",
+ port->inline_data_size, cm_id->device->name,
+ inline_sge_count * PAGE_SIZE);
+ port->inline_data_size = inline_sge_count * PAGE_SIZE;
+ inline_page_count = inline_sge_count;
+ }
+ ndev->inline_data_size = port->inline_data_size;
+ ndev->inline_page_count = inline_page_count;
ndev->device = cm_id->device;
kref_init(&ndev->ref);
diff --cc net/rds/ib_recv.c
index 4c5a937304b274,d300186b8dc020..2f16146e4ec94e
--- a/net/rds/ib_recv.c
+++ b/net/rds/ib_recv.c
@@@ -416,10 -415,10 +414,10 @@@ void rds_ib_recv_refill(struct rds_conn
&recv->r_frag->f_sg));
/* XXX when can this fail? */
- ret = ib_post_recv(ic->i_cm_id->qp, &recv->r_wr, &failed_wr);
+ ret = ib_post_recv(ic->i_cm_id->qp, &recv->r_wr, NULL);
if (ret) {
rds_ib_conn_error(conn, "recv post on "
- "%pI4 returned %d, disconnecting and "
+ "%pI6c returned %d, disconnecting and "
"reconnecting\n", &conn->c_faddr,
ret);
break;
diff --cc net/rds/ib_send.c
index 8ac80c1b051e1a,c8dd3125d39877..2dcb555e6350d1
--- a/net/rds/ib_send.c
+++ b/net/rds/ib_send.c
@@@ -758,8 -758,7 +758,7 @@@ int rds_ib_xmit_atomic(struct rds_conne
{
struct rds_ib_connection *ic = conn->c_transport_data;
struct rds_ib_send_work *send = NULL;
- struct ib_send_wr *failed_wr;
+ const struct ib_send_wr *failed_wr;
- struct rds_ib_device *rds_ibdev;
u32 pos;
u32 work_alloc;
int ret;
diff --cc net/smc/smc_wr.c
index de1a438cf9773f,f856b8402b3fe5..3c458d27985574
--- a/net/smc/smc_wr.c
+++ b/net/smc/smc_wr.c
@@@ -246,14 -239,11 +238,10 @@@ int smc_wr_tx_send(struct smc_link *lin
ib_req_notify_cq(link->smcibdev->roce_cq_send,
IB_CQ_NEXT_COMP | IB_CQ_REPORT_MISSED_EVENTS);
pend = container_of(priv, struct smc_wr_tx_pend, priv);
- rc = ib_post_send(link->roce_qp, &link->wr_tx_ibs[pend->idx],
- &failed_wr);
+ rc = ib_post_send(link->roce_qp, &link->wr_tx_ibs[pend->idx], NULL);
if (rc) {
- struct smc_link_group *lgr =
- container_of(link, struct smc_link_group,
- lnk[SMC_SINGLE_LINK]);
-
smc_wr_tx_put_slot(link, priv);
- smc_lgr_terminate(lgr);
+ smc_lgr_terminate(smc_get_lgr(link));
}
return rc;
}
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2018-08-16 21:57 Jason Gunthorpe
@ 2018-08-17 19:31 ` Linus Torvalds
2018-08-17 19:44 ` Linus Torvalds
2018-08-17 20:15 ` Jason Gunthorpe
0 siblings, 2 replies; 149+ messages in thread
From: Linus Torvalds @ 2018-08-17 19:31 UTC (permalink / raw)
To: Jason Gunthorpe; +Cc: Doug Ledford, linux-rdma, Linux Kernel Mailing List
On Thu, Aug 16, 2018 at 2:57 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
>
> This time there are many merge conflicts, all due to various tree-wide or RDMA
> subystem wide changes done by various people. The resolution is tricky, as git
> does not highlight two areas that need revision.
I was confused by this, because there were no merge conflicts.
Then I looked at the history, and the reason is that you actually
pushed the for-next branch into the for-linus branch, and so I got the
pre-merged version.
Oh well. I'll look at what the conflicts were, but may end up just
taking your resolution.
Linus
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2018-08-17 19:31 ` Linus Torvalds
@ 2018-08-17 19:44 ` Linus Torvalds
2018-08-17 20:50 ` Linus Torvalds
2018-08-17 20:15 ` Jason Gunthorpe
1 sibling, 1 reply; 149+ messages in thread
From: Linus Torvalds @ 2018-08-17 19:44 UTC (permalink / raw)
To: Jason Gunthorpe; +Cc: Doug Ledford, linux-rdma, Linux Kernel Mailing List
On Fri, Aug 17, 2018 at 12:31 PM Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> Oh well. I'll look at what the conflicts were, but may end up just
> taking your resolution.
Ok, everything but the max_sge thing was trivial. I just took yours.
Linus
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2018-08-17 19:44 ` Linus Torvalds
@ 2018-08-17 20:50 ` Linus Torvalds
2018-08-17 21:16 ` Jason Gunthorpe
0 siblings, 1 reply; 149+ messages in thread
From: Linus Torvalds @ 2018-08-17 20:50 UTC (permalink / raw)
To: Jason Gunthorpe; +Cc: Doug Ledford, linux-rdma, Linux Kernel Mailing List
On Fri, Aug 17, 2018 at 12:44 PM Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> Ok, everything but the max_sge thing was trivial. I just took yours.
Oh, and doing the full test compile, I notice there are new warnings.
That is *NOT* ok.
The whole "x is deprecated" is not a useful warning. If you can't
remove something, making it a reminder for yourself for later is not
an acceptable excuse for bothering everybody else with the warning,
and possibly having other issues hidden because by the time there are
expected warnings, people will start ignoring the unexpected ones too.
So "__deprecated" is for stuff that really isn't used any more, to
catch possible new users. People have tried to use it for anything
else, but it's always been a much bigger pain than it is worth.
I've considered just removing the whole deprecation infrastructure. It
has never really worked. Either its used, in which case deprecation
warnings only hide real issues, or it's not used, in which case the
function should just be removed.
Linus
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2018-08-17 20:50 ` Linus Torvalds
@ 2018-08-17 21:16 ` Jason Gunthorpe
2018-08-17 23:56 ` Linus Torvalds
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2018-08-17 21:16 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Doug Ledford, linux-rdma, Linux Kernel Mailing List
On Fri, Aug 17, 2018 at 01:50:05PM -0700, Linus Torvalds wrote:
> On Fri, Aug 17, 2018 at 12:44 PM Linus Torvalds
> <torvalds@linux-foundation.org> wrote:
> >
> > Ok, everything but the max_sge thing was trivial. I just took yours.
>
> Oh, and doing the full test compile, I notice there are new warnings.
>
> That is *NOT* ok.
I expect to send you a pull request to remove all of this next
week. This is fall out from the SMC merge conflict reversion.
> The whole "x is deprecated" is not a useful warning. If you can't
> remove something, making it a reminder for yourself for later is not
> an acceptable excuse for bothering everybody else with the warning,
> and possibly having other issues hidden because by the time there are
> expected warnings, people will start ignoring the unexpected ones too.
>
> So "__deprecated" is for stuff that really isn't used any more, to
> catch possible new users. People have tried to use it for anything
> else, but it's always been a much bigger pain than it is worth.
In this case it has become confusing what
CONFIG_ENABLE_WARN_DEPRECATED is for.
If the kernel is supposed to compile warning free with that config
set, then why have the config at all - it does nothing, by definition?
Would you like a patch to remove that CONFIG option?
Jason
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2018-08-17 21:16 ` Jason Gunthorpe
@ 2018-08-17 23:56 ` Linus Torvalds
0 siblings, 0 replies; 149+ messages in thread
From: Linus Torvalds @ 2018-08-17 23:56 UTC (permalink / raw)
To: Jason Gunthorpe; +Cc: Doug Ledford, linux-rdma, Linux Kernel Mailing List
On Fri, Aug 17, 2018 at 2:17 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
>
> Would you like a patch to remove that CONFIG option?
I've definitely considered it and would almost certainly just apply a
patch that removed it.
We haven't had this issue for a while (because people stopped using
the deprecated thing), so it ended up not having been an issue lately.
Yours was the first case of deprecation warnings I've seen in a
longish while.
Linus
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2018-08-17 19:31 ` Linus Torvalds
2018-08-17 19:44 ` Linus Torvalds
@ 2018-08-17 20:15 ` Jason Gunthorpe
2018-08-17 20:27 ` Linus Torvalds
1 sibling, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2018-08-17 20:15 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Doug Ledford, linux-rdma, Linux Kernel Mailing List
On Fri, Aug 17, 2018 at 12:31:00PM -0700, Linus Torvalds wrote:
> On Thu, Aug 16, 2018 at 2:57 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
> >
> > This time there are many merge conflicts, all due to various tree-wide or RDMA
> > subystem wide changes done by various people. The resolution is tricky, as git
> > does not highlight two areas that need revision.
>
> I was confused by this, because there were no merge conflicts.
>
> Then I looked at the history, and the reason is that you actually
> pushed the for-next branch into the for-linus branch, and so I got the
> pre-merged version.
Er, yes, sorry, I made a typo in my email, it should have read "As
before I've resolved the conflicts in the for-linus tag and provided
the unmerged tree in the for-linus-unmerged tag"
> Oh well. I'll look at what the conflicts were, but may end up just
> taking your resolution.
We often have merge conflicts with RDMA, how do you prefer to get the
PR? I'm actually not very clear on this part of the process.
Historically, when we have conflicts, I've given you a tag
'for-linus-unmerged', a text description of the conflicts with merge
diff hunks, and then a tag 'for-linus' which contains the full
resolution I used and checked (based on linux-next).
In the past you've taken from both tags, I think, depending on how
the resolution looks?
I generate the 'git request-pull' against the 'for-linus' tag only
because the diffstat of the resolved branch is closer to what you'll
actually see during merge. Otherwise there are always misleading
netdev changes due to the shared branches with netdev.
If you don't care about the diffstat I'll switch to 'for-linus' and
'for-linus-resolved' tags so you won't accidentally get any resolution
commit unless you want it.
Thanks,
Jason
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2018-08-17 20:15 ` Jason Gunthorpe
@ 2018-08-17 20:27 ` Linus Torvalds
2018-08-17 21:27 ` Jason Gunthorpe
0 siblings, 1 reply; 149+ messages in thread
From: Linus Torvalds @ 2018-08-17 20:27 UTC (permalink / raw)
To: Jason Gunthorpe; +Cc: Doug Ledford, linux-rdma, Linux Kernel Mailing List
On Fri, Aug 17, 2018 at 1:15 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
>
> We often have merge conflicts with RDMA, how do you prefer to get the
> PR? I'm actually not very clear on this part of the process.
I generally prefer the non-merged version, but with comments about
the conflicts.
In fact, the really preferred model is generally to send me a
non-merged pull request (say "tags/for-linus") but if the conflicts
look even half-way nasty - or simply because you did the merge anyway
just to get the proper diffstat because history is complex - mention
that you have a merged branch for verification (say
"branch/for-linus-merged").
When I get that kind of pull request, I'll just do the merge
resolution myself, and after I've done it I'll generally then do
git checkout -b test-merge
git pull <repoaddress> for-linus-merged
and then just compare the end result with my resolution as an extra
verification step.
I may end up skipping the verification step if everything looks
entirely trivial (and really, if you have no real reason for the
pre-merged branch, don't bother even mentioning it even if you did it
for the diffstat), but in practice whenever somebody does that, I have
no reason not to just do that simple extra verification.
Most of the time the merges are exactly the same, possibly with
whitespace or trivial ordering differences (things like Makefiles and
Kconfig files often have add-add conflicts where the ordering really
doesn't matter between two config options).
And then sometimes it shows that I missed something in my mmerge.
And sometimes it shows that I do so many merges that I actually ended
up noticing something that the submaintainer didn't.
So it can be uninteresting, and when it isn't uninteresting it can go
either way, but so far for the people who do this, I've never been in
the situation where I was *sorry* for the double merge and extra
verification step.
Because when mis-merges happen (they are happily pretty rare) they are
_so_ annoying and can be so hard to figure out later, that I'd rather
spend a bit more time on the merge than have a dodgy one.
Linus
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2018-08-17 20:27 ` Linus Torvalds
@ 2018-08-17 21:27 ` Jason Gunthorpe
0 siblings, 0 replies; 149+ messages in thread
From: Jason Gunthorpe @ 2018-08-17 21:27 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Doug Ledford, linux-rdma, Linux Kernel Mailing List
On Fri, Aug 17, 2018 at 01:27:02PM -0700, Linus Torvalds wrote:
> On Fri, Aug 17, 2018 at 1:15 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
> >
> > We often have merge conflicts with RDMA, how do you prefer to get the
> > PR? I'm actually not very clear on this part of the process.
>
> I generally prefer the non-merged version, but with comments about
> the conflicts.
>
> In fact, the really preferred model is generally to send me a
> non-merged pull request (say "tags/for-linus") but if the conflicts
> look even half-way nasty - or simply because you did the merge anyway
> just to get the proper diffstat because history is complex - mention
> that you have a merged branch for verification (say
> "branch/for-linus-merged").
>
> When I get that kind of pull request, I'll just do the merge
> resolution myself, and after I've done it I'll generally then do
>
> git checkout -b test-merge
> git pull <repoaddress> for-linus-merged
>
> and then just compare the end result with my resolution as an extra
> verification step.
>
> I may end up skipping the verification step if everything looks
> entirely trivial (and really, if you have no real reason for the
> pre-merged branch, don't bother even mentioning it even if you did it
> for the diffstat), but in practice whenever somebody does that, I have
> no reason not to just do that simple extra verification.
>
> Most of the time the merges are exactly the same, possibly with
> whitespace or trivial ordering differences (things like Makefiles and
> Kconfig files often have add-add conflicts where the ordering really
> doesn't matter between two config options).
>
> And then sometimes it shows that I missed something in my mmerge.
>
> And sometimes it shows that I do so many merges that I actually ended
> up noticing something that the submaintainer didn't.
>
> So it can be uninteresting, and when it isn't uninteresting it can go
> either way, but so far for the people who do this, I've never been in
> the situation where I was *sorry* for the double merge and extra
> verification step.
>
> Because when mis-merges happen (they are happily pretty rare) they are
> _so_ annoying and can be so hard to figure out later, that I'd rather
> spend a bit more time on the merge than have a dodgy one.
Thanks for the explanation. Doug and I will do this in future.
Jason
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-08-03 16:11 Jason Gunthorpe
0 siblings, 0 replies; 149+ messages in thread
From: Jason Gunthorpe @ 2018-08-03 16:11 UTC (permalink / raw)
To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1108 bytes --]
Hi Linus,
Third pull request for -rc
Things are still slow on the RC side, this one patch has been sitting in the
git tree for a few weeks waiting for some friends. I expect this is the last
RC pull for this cycle.
The following changes since commit d63c46734c545ad0488761059004a65c46efdde3:
RDMA/mlx5: Fix memory leak in mlx5_ib_create_srq() error path (2018-07-11 14:16:13 -0600)
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 addb8a6559f0f8b5a37582b7ca698358445a55bf:
RDMA/uverbs: Expand primary and alt AV port checks (2018-07-24 15:30:34 -0600)
----------------------------------------------------------------
One bug for missing user input validation:
- Refuse invalid port numbers in the modify_qp system call
----------------------------------------------------------------
Jack Morgenstein (1):
RDMA/uverbs: Expand primary and alt AV port checks
drivers/infiniband/core/uverbs_cmd.c | 59 +++++++++++++++++++++++++++++++++---
1 file changed, 54 insertions(+), 5 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-07-13 17:13 Jason Gunthorpe
0 siblings, 0 replies; 149+ messages in thread
From: Jason Gunthorpe @ 2018-07-13 17:13 UTC (permalink / raw)
To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 2040 bytes --]
Hi Linus,
Second pull request for -rc
Things have been quite slow, only 6 RC patches have been sent to the
list. Lots of stuff in for-next already though.
The following changes since commit 6f0d349d922ba44e4348a17a78ea51b7135965b1:
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net (2018-06-25 15:58:17 +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 d63c46734c545ad0488761059004a65c46efdde3:
RDMA/mlx5: Fix memory leak in mlx5_ib_create_srq() error path (2018-07-11 14:16:13 -0600)
----------------------------------------------------------------
Regression, user visible bugs, and crashing fixes:
- cxgb4 could wrongly fail MR creation due to a typo
- Various crashes if the wrong QP type is mixed in with APIs that expect
other types
- Syzkaller oops
- Using ERR_PTR and NULL together cases HFI1 to crash in some cases
- mlx5 memory leak in error unwind
----------------------------------------------------------------
Kamal Heib (1):
RDMA/mlx5: Fix memory leak in mlx5_ib_create_srq() error path
Leon Romanovsky (3):
RDMA/uverbs: Protect from attempts to create flows on unsupported QP
RDMA/uverbs: Fix slab-out-of-bounds in ib_uverbs_ex_create_flow
RDMA/uverbs: Don't fail in creation of multiple flows
Michael J. Ruhl (1):
IB/hfi1: Fix incorrect mixing of ERR_PTR and NULL return values
Steve Wise (1):
iw_cxgb4: correctly enforce the max reg_mr depth
drivers/infiniband/core/uverbs_cmd.c | 28 +++++++++++++++++-----------
drivers/infiniband/hw/cxgb4/mem.c | 2 +-
drivers/infiniband/hw/hfi1/rc.c | 2 +-
drivers/infiniband/hw/hfi1/uc.c | 4 ++--
drivers/infiniband/hw/hfi1/ud.c | 4 ++--
drivers/infiniband/hw/hfi1/verbs_txreq.c | 4 ++--
drivers/infiniband/hw/hfi1/verbs_txreq.h | 4 ++--
drivers/infiniband/hw/mlx5/srq.c | 18 ++++++++++++------
8 files changed, 39 insertions(+), 27 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-06-20 21:00 Jason Gunthorpe
0 siblings, 0 replies; 149+ messages in thread
From: Jason Gunthorpe @ 2018-06-20 21:00 UTC (permalink / raw)
To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 2093 bytes --]
Hi Linus,
First pull request for -rc
Here are eight fairly small fixes collected over the last two weeks.
Thanks,
Jason
The following changes since commit c1191a19fecad92b73c25770a7f47174280ca564:
RDMA/mlx5: Update SPDX tags to show proper license (2018-06-05 14:04:20 -0600)
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 375dc53d032fc11e98036b5f228ad13f7c5933f5:
IB/rxe: Fix missing completion for mem_reg work requests (2018-06-18 11:36:13 -0600)
----------------------------------------------------------------
4.18-rc
Regression and crashing bug fixes:
- mlx4/5: Fixes for issues found from various checkers
- A resource tracking and uverbs regression in the core code
- qedr: NULL pointer regression found during testing
- rxe: Various small bugs
----------------------------------------------------------------
Bharat Potnuri (1):
RDMA/core: Save kernel caller name when creating CQ using ib_create_cq()
Christophe Jaillet (1):
IB/mlx4: Fix an error handling path in 'mlx4_ib_rereg_user_mr()'
Gustavo A. R. Silva (1):
IB/mlx5: Fix memory leak in mlx5_ib_create_flow
Jason Gunthorpe (1):
IB/uverbs: Fix ordering of ucontext check in ib_uverbs_write
Kalderon, Michal (1):
RDMA/qedr: Fix NULL pointer dereference when running over iWARP without RDMA-CM
Vijay Immanuel (1):
IB/rxe: Fix missing completion for mem_reg work requests
Zhu Yanjun (1):
IB/rxe: avoid double kfree skb
weiyongjun (A) (1):
IB/mlx5: Fix return value check in flow_counters_set_data()
drivers/infiniband/core/uverbs_main.c | 14 ++++++++++----
drivers/infiniband/core/verbs.c | 14 ++++++++------
drivers/infiniband/hw/mlx4/mr.c | 7 +++++--
drivers/infiniband/hw/mlx5/main.c | 36 ++++++++++++++++++++---------------
drivers/infiniband/hw/qedr/verbs.c | 3 +++
drivers/infiniband/sw/rxe/rxe_req.c | 5 ++++-
include/rdma/ib_verbs.h | 13 ++++++++-----
7 files changed, 59 insertions(+), 33 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-06-06 21:42 Jason Gunthorpe
0 siblings, 0 replies; 149+ messages in thread
From: Jason Gunthorpe @ 2018-06-06 21:42 UTC (permalink / raw)
To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 23121 bytes --]
Hi Linus,
Here are the RDMA patches for 4.18.
No merge conflicts this time, and as of this writing netdev's pull request has
not been merged so the merge diffstat shows a number of ethernet related files
from the various shared pull requests in the two trees.
There are a few more merge commits in this history than has been typical in
the past. Instead of choosing the net or RDMA tree to get certain patches,
Mellanox is now providing a 'shared branch' which is intended to carry all
commits to drivers/net/ethernet/mellanox/mlx5/core and is used to merge those
patches into both the net and rdma trees. This is expected to reduce the merge
conflicts by ensuring both trees have all commits related to mlx5/core and
related, and no rdma or netdev commit is left only in the others tree.
The following changes since commit 55ba49cbcef37053d973f9a45bc58818c333fe13:
RDMA/hns: Move the location for initializing tmp_len (2018-05-23 15:45:44 -0600)
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 c1191a19fecad92b73c25770a7f47174280ca564:
RDMA/mlx5: Update SPDX tags to show proper license (2018-06-05 14:04:20 -0600)
----------------------------------------------------------------
4.18 Merge window pull request
This has been a quiet cycle for RDMA, the big bulk is the usual smallish
driver updates and bug fixes. About four new uAPI related things. Not as much
Szykaller patches this time, the bugs it finds are getting harder to fix.
- More work cleaning up the RDMA CM code
- Usual driver bug fixes and cleanups for qedr, qib, hfi1, hns, i40iw, iw_cxgb4, mlx5, rxe
- Driver specific resource tracking and reporting via netlink
- Continued work for name space support from Parav
- MPLS support for the verbs flow steering uAPI
- A few tricky IPoIB fixes improving robustness
- HFI1 driver support for the '16B' management packet format
- Some auditing to not print kernel pointers via %llx or similar
- Mark the entire 'UCM' user-space interface as BROKEN with the intent to remove it
entirely. The user space side of this was long ago replaced with RDMA-CM and
syzkaller is finding bugs in the residual UCM interface nobody wishes to fix because
nobody uses it.
- Purge more bogus BUG_ON's from Leon
- 'flow counters' verbs uAPI
- T10 fixups for iser/isert, these are Acked by Martin but going through the RDMA
tree due to dependencies
----------------------------------------------------------------
Alex Estrin (3):
IB/hfi1: Complete check for locally terminated smp
IB/{hfi1, qib}: Add handling of kernel restart
IB/isert: Fix for lib/dma_debug check_sync warning
Ariel Levkovich (7):
IB/uverbs: Expose GRE flow spec to the user-kernel ABI header
IB/uverbs: Introduce a GRE steering match filter
IB/uverbs: Expose MPLS flow spec to the user-kernel ABI header
IB/uverbs: Introduce a MPLS steering match filter
IB/mlx5: Add support for GRE flow specification
IB/mlx5: Add support for MPLS flow specification
IB/mlx5: Expose MPLS related tunneling offloads
Arnd Bergmann (1):
iw_cxgb4: add INFINIBAND_ADDR_TRANS dependency
Ben Hutchings (1):
IB: Fix RDMA_RXE and INFINIBAND_RDMAVT dependencies for DMA_VIRT_OPS
Brian Welty (1):
IB/{hfi1, qib, rdmavt}: Move logic to allocate receive WQE into rdmavt
Christophe JAILLET (3):
net/mlx5: Vport, Use 'kvfree()' for memory allocated by 'kvzalloc()'
net/mlx5: Eswitch, Use 'kvfree()' for memory allocated by 'kvzalloc()'
IB/mlx5: Use 'kvfree()' for memory allocated by 'kvzalloc()'
Colin Ian King (4):
net/mlx5: remove some extraneous spaces in indentations
RDMA/qedr: fix spelling mistake: "failes" -> "fails"
net/mlx5: fix spelling mistake: "modfiy" -> "modify"
RDMA/qedr: fix spelling mistake: "adrresses" -> "addresses"
Cong Wang (1):
infiniband: fix a possible use-after-free bug
Don Hiatt (3):
IB/hfi1: Define 16B Management Packets
IB/hfi1: Add support for 16B Management Packets
IB/hfi1: Add 16B Management Packet trace support
Doug Ledford (7):
Merge branch 'k.o/for-rc' into k.o/wip/dl-for-next
Merge tag 'mlx5-updates-2018-05-07' of git://git.kernel.org/.../mellanox/linux into k.o/wip/dl-for-next
RDMA/hfi1: Fix build error with debugfs disabled
RDMA/uapi: Fix uapi breakage
RDMA/ipoib: Update paths on CLIENT_REREG/SM_CHANGE events
Merge branch 'wip/dl-ipoib' into wip/dl-for-next
RDMA/hns_roce: Don't check return value of zap_vma_ptes()
Erez Shitrit (1):
IB/mlx5: Fetch soft WQE's on fatal error state
Evgenii Smirnov (1):
RDMA/ipoib: drop skb on path record lookup failure
Idan Burstein (1):
IB/mlx5: posting klm/mtt list inline in the send queue for reg_wr
Jack Morgenstein (2):
IB/core: Make testing MR flags for writability a static inline function
IB/mlx4: Mark user MR as writable if actual virtual memory is writable
Jason Gunthorpe (8):
RDMA/rdma_cm: Remove process_req and timer sorting
RDMA/rdma_cm: Make rdma_addr_cancel into a fence
RDMA/rdma_cm: Delete rdma_addr_client
Merge tag 'mlx5-updates-2018-05-17' of git://git.kernel.org/.../mellanox/linux into for-next
Merge branch 'mr_fix' into git://git.kernel.org/.../rdma/rdma for-next
RDMA/core: Remove indirection through ib_cache_setup()
Merge branch 'mini_cqe' into git://git.kernel.org/.../rdma/rdma for-next
Merge tag 'verbs_flow_counters' of git://git.kernel.org/.../leon/linux-rdma.git into for-next
Jia-Ju Bai (3):
infiniband: i40iw: Replace GFP_ATOMIC with GFP_KERNEL in i40iw_add_mqh_4
infiniband: i40iw: Replace GFP_ATOMIC with GFP_KERNEL in i40iw_make_listen_node
infiniband: i40iw: Replace GFP_ATOMIC with GFP_KERNEL in i40iw_l2param_change
Kaike Wan (3):
IB/hfi1: Ensure VL index is within bounds
IB/hfi1: Remove unused variable
IB/hfi1: Rename exp_lock to exp_mutex
Kamenee Arumugam (1):
IB/Hfi1: Read CCE Revision register to verify the device is responsive
Leon Romanovsky (16):
net/mlx5: Decrease level of prints about non-existent MKEY
RDMA/hns: Drop local zgid in favor of core defined variable
RDMA/mlx5: Remove debug prints of VMA pointers
RDMA/ucm: Mark UCM interface as BROKEN
RDMA/mlx4: Catch FW<->SW misalignment without machine crash
RDMA/mlx4: Discard unknown SQP work requests
RDMA/cxgb3: Don't crash kernel just because IDR is full
RDMA/cm: Abort loop in case of CM dequeue
RDMA/cma: Ignore unknown event
RDMA/mad: Delete inaccessible BUG_ON
RDMA/mad: Convert BUG_ONs to error flows
RDMA/mlx5: Don't check return value of zap_vma_ptes()
RDMA/mlx4: Don't crash machine if zap_vma_ptes() fails
mm: Remove return value of zap_vma_ptes()
RDMA/restrack: Change SPDX tag to properly reflect license
RDMA/mlx5: Update SPDX tags to show proper license
Matan Barak (2):
IB/uverbs: Add an ib_uobject getter to ioctl() infrastructure
IB/core: Support passing uhw for create_flow
Max Gurtovoy (4):
IB/isert: fix T10-pi check mask setting
RDMA/core: introduce check masks for T10-PI offload
IB/iser: use T10-PI check mask definitions from core layer
IB/isert: use T10-PI check mask definitions from core layer
Michael J. Ruhl (4):
IB/hfi1: Return actual error value from program_rcvarray()
IB/hfi1: Return correct value for device state
IB/hfi1: Reorder incorrect send context disable
IB/hfi1: Set port number for errorinfo MAD response
Mike Marciniszyn (7):
IB/hfi1: Fix fault injection init/exit issues
IB/hfi1: Cleanup of exp_rcv
IB/{rdmavt,hfi1}: Change hrtimer add to use pinned version
IB/qib: Fix DMA api warning with debug kernel
IB/hfi1: Fix user context tail allocation for DMA_RTAIL
IB/hfi1: Add bypass register defines and replace blind constants
IB/hfi1: Fix comment on default hdr entry size
Mitko Haralanov (1):
IB/hfi1: Rework fault injection machinery
Moshe Shemesh (2):
net/mlx5: Refactor num of blocks in mailbox calculation
net/mlx5: Fix dump_command mailbox length printed
Or Gerlitz (1):
net/mlx5: Use flow counter pointer as input to the query function
Parav Pandit (9):
IB/core: Use CONFIG_SECURITY_INFINIBAND to compile out security code
IB/core: Make gid_table_reserve_default() return void
IB/core: Reuse gid_table_release_one() in table allocation failure
IB/cm: Avoid AV ah_attr overwriting during LAP message handling
IB/cm: Store and restore ah_attr during LAP msg processing
IB/cm: Store and restore ah_attr during CM message processing
IB/core: Remove duplicate declaration of gid_cache_wq
IB/core: Reduce the places that use zgid
IB/core: Introduce and use rdma_gid_table()
Rabie Loulou (1):
net/mlx5e: Explicitly set destination e-switch in FDB rules
Raed Salem (11):
net/mlx5: Export flow counter related API
IB/core: Introduce counters object and its create/destroy
IB/uverbs: Add create/destroy counters support
IB/core: Introduce counters read verb
IB/uverbs: Add read counters support
IB/core: Add support for flow counters
IB/uverbs: Add support for flow counters
IB/mlx5: Add counters create and destroy support
IB/mlx5: Add flow counters binding support
IB/mlx5: Add flow counters read support
IB/mlx5: Add counters read support
Roi Dayan (1):
net/mlx5: Add merged e-switch cap
Sebastian Andrzej Siewior (1):
IB/ipoib: replace local_irq_disable() with proper locking
Sebastian Sanchez (4):
IB/hfi1: Prevent LNI hang when LCB can't obtain lanes
IB/hfi1: Optimize kthread pointer locking when queuing CQ entries
IB/hfi1: Create common functions for affinity CPU mask operations
IB/{hfi1, rdmavt, qib}: Implement CQ completion vector support
Sergey Gorenko (1):
IB/iser: Do not reduce max_sectors
Shahar Klein (4):
net/mlx5: Properly handle a vport destination when setting FTE
net/mlx5: Add destination e-switch owner
net/mlx5: Add source e-switch owner
net/mlx5e: Explicitly set source e-switch in offloaded TC rules
Shiraz Saleem (1):
i40iw: Extend port reuse support for listeners
Souptick Joarder (2):
infiniband: hw: hfi1: Change return type to vm_fault_t
infiniband: hw: qib: Change return type to vm_fault_t
Steve Wise (12):
RDMA/nldev: Add explicit pad attribute
RDMA/nldev: add driver-specific resource tracking
RDMA/nldev: helper functions to add driver attributes
iw_cxgb4: dump detailed driver-specific QP information
iw_cxgb4: fix uninitialized variable warnings
RDMA/NLDEV: remove mr iova attribute
iw_cxgb4: remove wr_id attributes
iw_cxgb4: always set iw_cm_id.provider_data
RDMA/CMA: add rdma_iw_cm_id() and rdma_res_to_id() helpers
iw_cxgb4: provide detailed provider-specific CM_ID information
iw_cxgb4: provide detailed driver-specific CQ information
iw_cxgb4: provide detailed driver-specific MR information
Tariq Toukan (1):
net/mlx5: Cleanup unused field in Work Queue parameters
Wei Hu(Xavier) (6):
RDMA/hns: Modify uar allocation algorithm to avoid bitmap exhaust
RDMA/hns: Increase checking CMQ status timeout value
RDMA/hns: Add reset process for RoCE in hip08
RDMA/hns: Fix the illegal memory operation when cross page
RDMA/uverbs: Hoist the common process of disassociate_ucontext into ib core
RDMA/hns: Implement the disassociate_ucontext API
Yixian Liu (1):
RDMA/hns: Add 64KB page size support for hip08
Yonatan Cohen (3):
net/mlx5: Exposing a new mini-CQE format
IB/mlx5: Refactor CQE compression response
IB/mlx5: Introduce a new mini-CQE format
YueHaibing (2):
IB/cxgb4: use skb_put_zero()/__skb_put_zero
IB/hns: Use zeroing memory allocator instead of allocator/memset
Yuval Shaia (2):
IB/rxe: Change rxe_rcv to return void
IB/core: Remove redundant return
Zhu Yanjun (9):
IB/rxe: make the variable static
IB/rxe: avoid export symbols
IB/rxe: make rxe_release_udp_tunnel static
IB/rxe: optimize the function duplicate_request
IB/rxe: replace refcount_inc with skb_get
IB/rxe: change rxe_set_mtu function type to void
IB/rxe: remove unused function variable
IB/rxe: avoid calling WARN_ON_ONCE twice
IB/rxe: avoid unnecessary export
oulijun (1):
RDMA/hns: Rename the idx field of db
drivers/infiniband/Kconfig | 11 +
drivers/infiniband/core/Makefile | 9 +-
drivers/infiniband/core/addr.c | 172 +++----
drivers/infiniband/core/cache.c | 112 ++---
drivers/infiniband/core/cm.c | 62 ++-
drivers/infiniband/core/cma.c | 36 +-
drivers/infiniband/core/core_priv.h | 3 -
drivers/infiniband/core/device.c | 4 +-
drivers/infiniband/core/mad.c | 12 +-
drivers/infiniband/core/nldev.c | 122 ++++-
drivers/infiniband/core/restrack.c | 9 +-
drivers/infiniband/core/roce_gid_mgmt.c | 2 -
drivers/infiniband/core/security.c | 4 -
drivers/infiniband/core/ucma.c | 6 +-
drivers/infiniband/core/umem.c | 13 +-
drivers/infiniband/core/uverbs.h | 2 +
drivers/infiniband/core/uverbs_cmd.c | 111 ++++-
drivers/infiniband/core/uverbs_main.c | 42 +-
drivers/infiniband/core/uverbs_std_types.c | 3 +-
.../infiniband/core/uverbs_std_types_counters.c | 157 +++++++
drivers/infiniband/core/uverbs_std_types_cq.c | 23 +-
.../infiniband/core/uverbs_std_types_flow_action.c | 4 +-
drivers/infiniband/core/verbs.c | 2 +-
drivers/infiniband/hw/cxgb3/iwch.h | 1 -
drivers/infiniband/hw/cxgb4/Kconfig | 1 +
drivers/infiniband/hw/cxgb4/Makefile | 3 +-
drivers/infiniband/hw/cxgb4/cm.c | 1 +
drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 5 +
drivers/infiniband/hw/cxgb4/provider.c | 8 +
drivers/infiniband/hw/cxgb4/qp.c | 9 +-
drivers/infiniband/hw/cxgb4/restrack.c | 501 ++++++++++++++++++++
drivers/infiniband/hw/hfi1/Makefile | 10 +-
drivers/infiniband/hw/hfi1/affinity.c | 497 ++++++++++++++++++--
drivers/infiniband/hw/hfi1/affinity.h | 10 +-
drivers/infiniband/hw/hfi1/chip.c | 82 ++--
drivers/infiniband/hw/hfi1/chip.h | 15 +-
drivers/infiniband/hw/hfi1/chip_registers.h | 13 +-
drivers/infiniband/hw/hfi1/debugfs.c | 292 +-----------
drivers/infiniband/hw/hfi1/debugfs.h | 102 ++--
drivers/infiniband/hw/hfi1/driver.c | 53 ++-
drivers/infiniband/hw/hfi1/exp_rcv.c | 39 +-
drivers/infiniband/hw/hfi1/exp_rcv.h | 24 +-
drivers/infiniband/hw/hfi1/fault.c | 375 +++++++++++++++
drivers/infiniband/hw/hfi1/fault.h | 109 +++++
drivers/infiniband/hw/hfi1/file_ops.c | 8 +-
drivers/infiniband/hw/hfi1/hfi.h | 61 ++-
drivers/infiniband/hw/hfi1/init.c | 47 +-
drivers/infiniband/hw/hfi1/mad.c | 37 +-
drivers/infiniband/hw/hfi1/pcie.c | 8 +
drivers/infiniband/hw/hfi1/pio.c | 44 +-
drivers/infiniband/hw/hfi1/rc.c | 10 +-
drivers/infiniband/hw/hfi1/ruc.c | 154 +------
drivers/infiniband/hw/hfi1/sdma.c | 12 +-
drivers/infiniband/hw/hfi1/trace.c | 43 +-
drivers/infiniband/hw/hfi1/trace_dbg.h | 3 +-
drivers/infiniband/hw/hfi1/trace_ibhdrs.h | 160 ++++---
drivers/infiniband/hw/hfi1/uc.c | 4 +-
drivers/infiniband/hw/hfi1/ud.c | 61 ++-
drivers/infiniband/hw/hfi1/user_exp_rcv.c | 11 +-
drivers/infiniband/hw/hfi1/user_sdma.h | 4 +-
drivers/infiniband/hw/hfi1/verbs.c | 45 +-
drivers/infiniband/hw/hfi1/verbs.h | 15 +-
drivers/infiniband/hw/hns/hns_roce_alloc.c | 8 +-
drivers/infiniband/hw/hns/hns_roce_cmd.c | 3 +
drivers/infiniband/hw/hns/hns_roce_device.h | 14 +
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 188 ++++++--
drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 7 +-
drivers/infiniband/hw/hns/hns_roce_main.c | 76 ++-
drivers/infiniband/hw/hns/hns_roce_mr.c | 6 -
drivers/infiniband/hw/hns/hns_roce_pd.c | 10 +-
drivers/infiniband/hw/i40iw/i40iw_cm.c | 67 ++-
drivers/infiniband/hw/i40iw/i40iw_cm.h | 4 +-
drivers/infiniband/hw/i40iw/i40iw_hw.c | 34 +-
drivers/infiniband/hw/i40iw/i40iw_main.c | 2 +-
drivers/infiniband/hw/mlx4/mad.c | 1 -
drivers/infiniband/hw/mlx4/main.c | 60 +--
drivers/infiniband/hw/mlx4/mr.c | 50 +-
drivers/infiniband/hw/mlx4/qp.c | 2 +-
drivers/infiniband/hw/mlx5/cq.c | 59 ++-
drivers/infiniband/hw/mlx5/ib_rep.c | 2 +-
drivers/infiniband/hw/mlx5/ib_rep.h | 2 +-
drivers/infiniband/hw/mlx5/main.c | 511 ++++++++++++++++++---
drivers/infiniband/hw/mlx5/mlx5_ib.h | 36 ++
drivers/infiniband/hw/mlx5/qp.c | 43 +-
drivers/infiniband/hw/qedr/verbs.c | 4 +-
drivers/infiniband/hw/qib/qib.h | 4 +-
drivers/infiniband/hw/qib/qib_file_ops.c | 12 +-
drivers/infiniband/hw/qib/qib_init.c | 13 +
drivers/infiniband/hw/qib/qib_rc.c | 8 +-
drivers/infiniband/hw/qib/qib_ruc.c | 154 +------
drivers/infiniband/hw/qib/qib_uc.c | 4 +-
drivers/infiniband/hw/qib/qib_ud.c | 4 +-
drivers/infiniband/hw/qib/qib_user_pages.c | 20 +-
drivers/infiniband/hw/qib/qib_verbs.c | 6 +-
drivers/infiniband/hw/qib/qib_verbs.h | 2 -
drivers/infiniband/sw/rdmavt/Kconfig | 2 +-
drivers/infiniband/sw/rdmavt/cq.c | 74 ++-
drivers/infiniband/sw/rdmavt/cq.h | 6 +-
drivers/infiniband/sw/rdmavt/qp.c | 151 +++++-
drivers/infiniband/sw/rdmavt/trace_cq.h | 35 +-
drivers/infiniband/sw/rdmavt/vt.c | 35 +-
drivers/infiniband/sw/rxe/Kconfig | 1 +
drivers/infiniband/sw/rxe/rxe.c | 11 +-
drivers/infiniband/sw/rxe/rxe.h | 4 +-
drivers/infiniband/sw/rxe/rxe_comp.c | 10 +-
drivers/infiniband/sw/rxe/rxe_loc.h | 13 +-
drivers/infiniband/sw/rxe/rxe_mr.c | 13 +-
drivers/infiniband/sw/rxe/rxe_net.c | 18 +-
drivers/infiniband/sw/rxe/rxe_net.h | 3 -
drivers/infiniband/sw/rxe/rxe_recv.c | 7 +-
drivers/infiniband/sw/rxe/rxe_req.c | 2 +-
drivers/infiniband/sw/rxe/rxe_resp.c | 20 +-
drivers/infiniband/sw/rxe/rxe_verbs.c | 6 +-
drivers/infiniband/ulp/ipoib/ipoib.h | 2 +-
drivers/infiniband/ulp/ipoib/ipoib_main.c | 93 ++--
drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 15 +-
drivers/infiniband/ulp/iser/iscsi_iser.c | 12 +-
drivers/infiniband/ulp/iser/iscsi_iser.h | 6 +-
drivers/infiniband/ulp/iser/iser_initiator.c | 2 +-
drivers/infiniband/ulp/iser/iser_memory.c | 4 +-
drivers/infiniband/ulp/iser/iser_verbs.c | 21 +-
drivers/infiniband/ulp/isert/ib_isert.c | 37 +-
drivers/net/ethernet/mellanox/mlx5/core/cmd.c | 28 +-
.../mellanox/mlx5/core/diag/fs_tracepoint.c | 2 +-
drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c | 2 +-
drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 1 -
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 3 +
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 17 +-
drivers/net/ethernet/mellanox/mlx5/core/eswitch.h | 2 +
.../ethernet/mellanox/mlx5/core/eswitch_offloads.c | 21 +-
drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c | 9 +
drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 26 +-
drivers/net/ethernet/mellanox/mlx5/core/fs_core.h | 4 +-
.../net/ethernet/mellanox/mlx5/core/fs_counters.c | 7 +-
drivers/net/ethernet/mellanox/mlx5/core/mr.c | 4 +-
drivers/net/ethernet/mellanox/mlx5/core/qp.c | 18 +-
drivers/net/ethernet/mellanox/mlx5/core/vport.c | 6 +-
drivers/net/ethernet/mellanox/mlx5/core/wq.h | 1 -
include/linux/mlx5/device.h | 12 +
include/linux/mlx5/fs.h | 10 +-
include/linux/mlx5/mlx5_ifc.h | 66 ++-
include/linux/mm.h | 8 +-
include/rdma/ib_addr.h | 20 +-
include/rdma/ib_cache.h | 1 +
include/rdma/ib_verbs.h | 102 +++-
include/rdma/rdma_cm.h | 3 +
include/rdma/rdma_vt.h | 7 +-
include/rdma/rdmavt_cq.h | 5 +-
include/rdma/rdmavt_qp.h | 1 +
include/rdma/restrack.h | 22 +-
include/rdma/uverbs_ioctl.h | 11 +
include/uapi/rdma/ib_user_ioctl_cmds.h | 21 +
include/uapi/rdma/ib_user_verbs.h | 63 +++
include/uapi/rdma/mlx5-abi.h | 30 +-
include/uapi/rdma/rdma_netlink.h | 30 +-
mm/memory.c | 7 +-
156 files changed, 4560 insertions(+), 1827 deletions(-)
create mode 100644 drivers/infiniband/core/uverbs_std_types_counters.c
create mode 100644 drivers/infiniband/hw/cxgb4/restrack.c
create mode 100644 drivers/infiniband/hw/hfi1/fault.c
create mode 100644 drivers/infiniband/hw/hfi1/fault.h
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-06-01 16:47 Jason Gunthorpe
0 siblings, 0 replies; 149+ messages in thread
From: Jason Gunthorpe @ 2018-06-01 16:47 UTC (permalink / raw)
To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 2335 bytes --]
Hi Linus,
Third pull request for -rc
Just 3 small last minute regressions that were found in the last week. The
Broadcom fix is a bit big for rc7, but since it is fixing driver crash
regressions that were merged via netdev into rc1, I am sending it.
The following changes since commit 55ba49cbcef37053d973f9a45bc58818c333fe13:
RDMA/hns: Move the location for initializing tmp_len (2018-05-23 15:45:44 -0600)
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 a840c93ca7582bb6c88df2345a33f979b7a67874:
IB/core: Fix error code for invalid GID entry (2018-05-29 12:08:37 -0600)
----------------------------------------------------------------
Merge candidates for 4.17-rc
- bnxt netdev changes merged this cycle caused the bnxt RDMA driver to crash under
certain situations
- Arnd found (several, unfortunately) kconfig problems with the patches adding
INFINIBAND_ADDR_TRANS. Reverting this last part, will fix it more fully
outside -rc.
- Subtle change in error code for a uapi function caused breakage in userspace.
This was bug was subtly introduced cycle
----------------------------------------------------------------
Arnd Bergmann (1):
IB: Revert "remove redundant INFINIBAND kconfig dependencies"
Devesh Sharma (1):
RDMA/bnxt_re: Fix broken RoCE driver due to recent L2 driver changes
Parav Pandit (1):
IB/core: Fix error code for invalid GID entry
drivers/infiniband/core/cache.c | 2 +-
drivers/infiniband/hw/bnxt_re/main.c | 55 ++++++++++++++++-
drivers/infiniband/hw/bnxt_re/qplib_fp.c | 94 +++++++++++++++++++-----------
drivers/infiniband/hw/bnxt_re/qplib_fp.h | 3 +
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 61 +++++++++++++------
drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 3 +
drivers/infiniband/ulp/srpt/Kconfig | 2 +-
drivers/nvme/host/Kconfig | 2 +-
drivers/nvme/target/Kconfig | 2 +-
drivers/staging/lustre/lnet/Kconfig | 2 +-
fs/cifs/Kconfig | 2 +-
net/9p/Kconfig | 2 +-
net/rds/Kconfig | 2 +-
net/sunrpc/Kconfig | 2 +-
14 files changed, 172 insertions(+), 62 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-05-24 20:51 Jason Gunthorpe
0 siblings, 0 replies; 149+ messages in thread
From: Jason Gunthorpe @ 2018-05-24 20:51 UTC (permalink / raw)
To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
Hi Linus,
Second pull request for -rc
We haven't had quite the same rate of -rc patches this cycle, not much Syzkaller
related stuff right now as the remaining bugs it has found require some kind of
significant redesign to solve. The -next branch is also somewhat quieter than
normal.
This is pretty much just the usual array of smallish driver bugs.
There is a patch that cleans up the kconfig around INFINIBAND_ADDR_TRANS that
touches a few files, this is related the the patch introducing
INFINIBAND_ADDR_TRANS that was accepted earlier this cycle
f7cb7b85be55 ("IB: make INFINIBAND_ADDR_TRANS configurable")
The following changes since commit 9aa169213d1166d30ae357a44abbeae93459339d:
RDMA/cma: Do not query GID during QP state transition to RTR (2018-05-03 15:45:18 -0400)
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 55ba49cbcef37053d973f9a45bc58818c333fe13:
RDMA/hns: Move the location for initializing tmp_len (2018-05-23 15:45:44 -0600)
----------------------------------------------------------------
Merge candidates for 4.17-rc
- Remove bouncing addresses from the MAINTAINERS file
- Kernel oops and bad error handling fixes for hfi, i40iw, cxgb4, and hns drivers
- Various small LOC behavioral/operational bugs in mlx5, hns, qedr and i40iw drivers
- Two fixes for patches already sent during the merge window
- A long standing bug related to not decreasing the pinned pages count in the right
MM was found and fixed
----------------------------------------------------------------
Alexandru Moise (1):
nvmet,rxe: defer ip datagram sending to tasklet
Andrew Boyer (3):
RDMA/i40iw: Avoid panic when objects are being created and destroyed
RDMA/i40iw: Avoid reference leaks when processing the AEQ
RDMA/i40iw: Avoid panic when reading back the IRQ affinity hint
Christophe Jaillet (1):
iw_cxgb4: Fix an error handling path in 'c4iw_get_dma_mr()'
Daria Velikovsky (1):
RDMA/mlx5: Use proper spec flow label type
Greg Thelen (1):
IB: remove redundant INFINIBAND kconfig dependencies
Jason Gunthorpe (1):
IB/uverbs: Fix uverbs_attr_get_obj
Kalderon, Michal (1):
RDMA/qedr: Fix doorbell bar mapping for dpi > 1
Leon Romanovsky (1):
MAINTAINERS: Remove bouncing @mellanox.com addresses
Lidong Chen (1):
IB/umem: Use the correct mm during ib_umem_release
Michael J. Ruhl (1):
IB/hfi1: Use after free race condition in send context error path
Mustafa Ismail (2):
i40iw: Fix memory leak in error path of create QP
i40iw: Use correct address in dst_neigh_lookup for IPv6
Yishai Hadas (1):
RDMA/mlx5: Don't assume that medium blueFlame register exists
oulijun (13):
RDMA/hns: Add rq inline flags judgement
RDMA/hns: Bugfix for rq record db for kernel
RDMA/hns: Load the RoCE dirver automatically
RDMA/hns: Update convert function of endian format
RDMA/hns: Add return operation when configured global param fail
RDMA/hns: Not support qp transition from reset to reset for hip06
RDMA/hns: Fix the bug with rq sge
RDMA/hns: Set desc_dma_addr for zero when free cmq desc
RDMA/hns: Enable inner_pa_vld filed of mpt
RDMA/hns: Set NULL for __internal_mr
RDMA/hns: Fix the bug with NULL pointer
RDMA/hns: Bugfix for cq record db for kernel
RDMA/hns: Move the location for initializing tmp_len
MAINTAINERS | 6 ---
drivers/infiniband/core/umem.c | 7 +---
drivers/infiniband/hw/cxgb4/mem.c | 4 +-
drivers/infiniband/hw/hfi1/chip.c | 4 ++
drivers/infiniband/hw/hns/hns_roce_cq.c | 1 +
drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 3 +-
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 32 +++++++++++-----
drivers/infiniband/hw/hns/hns_roce_main.c | 2 +-
drivers/infiniband/hw/hns/hns_roce_qp.c | 10 ++++-
drivers/infiniband/hw/i40iw/i40iw.h | 1 +
drivers/infiniband/hw/i40iw/i40iw_cm.c | 2 +-
drivers/infiniband/hw/i40iw/i40iw_hw.c | 4 +-
drivers/infiniband/hw/i40iw/i40iw_main.c | 7 ++--
drivers/infiniband/hw/i40iw/i40iw_verbs.c | 13 +++++--
drivers/infiniband/hw/i40iw/i40iw_verbs.h | 1 +
drivers/infiniband/hw/mlx5/main.c | 2 +-
drivers/infiniband/hw/mlx5/qp.c | 18 +++++----
drivers/infiniband/hw/qedr/verbs.c | 60 +++++++++++++++---------------
drivers/infiniband/sw/rxe/rxe_verbs.c | 10 +----
drivers/infiniband/ulp/srpt/Kconfig | 2 +-
drivers/nvme/host/Kconfig | 2 +-
drivers/nvme/target/Kconfig | 2 +-
drivers/staging/lustre/lnet/Kconfig | 2 +-
fs/cifs/Kconfig | 2 +-
include/rdma/ib_umem.h | 1 -
include/rdma/uverbs_ioctl.h | 10 ++---
net/9p/Kconfig | 2 +-
net/rds/Kconfig | 2 +-
net/sunrpc/Kconfig | 2 +-
29 files changed, 116 insertions(+), 98 deletions(-)
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-04-06 16:05 Jason Gunthorpe
2018-05-16 17:39 ` Eugene Syromiatnikov
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2018-04-06 16:05 UTC (permalink / raw)
To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 30714 bytes --]
Hi Linus,
Here are the RDMA patches for for 4.17.
This cycle we have some interesting conflicts, a syzkaller related bug fix in
rc clashed very badly with the Mellanox shared pull request. Doug made the
resolution in the RDMA tree for-next tree and DaveM refered to it when he
pulled in the same patches. This turned out to create two commits to the same
file which then also creates an unexpected conflict here. In retrospect
perhaps we should have tried to push the conflict resolution as a shared patch
as well.
So at this point we have conflicts between net-next, RDMA for-rc and RDMA
for-next. As before I've resolved them in the top commit, but this couldn't
be done against a nice tag. I choose to use your merge of net-next, which
has all the necessary patches.
The for-linus-unmerged tag is the same PR without this resolution. In this
case the conflicts are easy to resolve by hand. Just deleting the conflict
markers is correct in every case execpt umca.c which requires this:
- ctx->cm_id = __rdma_create_id(current->nsproxy->net_ns,
- ucma_event_handler, ctx, cmd.ps, qp_type, NULL);
- if (IS_ERR(ctx->cm_id)) {
- ret = PTR_ERR(ctx->cm_id);
- cm_id = rdma_create_id(current->nsproxy->net_ns,
- ucma_event_handler, ctx, cmd.ps, qp_type);
++ cm_id = __rdma_create_id(current->nsproxy->net_ns,
++ ucma_event_handler, ctx, cmd.ps, qp_type, NULL);
+ if (IS_ERR(cm_id)) {
+ ret = PTR_ERR(cm_id);
Doug and I are at a conference next week so if another PR is sent I expect it
to only be bug fixes. Parav noted yesterday that there are some fringe case
behavior changes in his work that he would like to fix, and I see that Intel
has a number of rc looking patches for HFI1 they posted yesterday.
Parav is again the biggest contributor by patch count with his ongoing work to
enable container support in the RDMA stack, followed by Leon doing syzkaller
inspired cleanups, though most of the actual fixing went to RC.
There is one uncomfortable series here fixing the user ABI to actually work as
intended in 32 bit mode. There are lots of notes in the commit messages, but
the basic summary is we don't think there is an actual 32 bit kernel user of
drivers/infiniband for several good reasons. However we are seeing people want
to use a 32 bit user space with 64 bit kernel, which didn't completely work
today. So in fixing it we required a 32 bit rxe user to upgrade their
userspace. rxe users are still already quite rare and we think a 32 bit one is
non-existing.
Thanks,
Jason
The following changes since commit 5bb053bef82523a8fd78d650bca81c9f114fa276:
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next (2018-04-03 14:04:18 -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 423009d1cbb77b67f6eba65efd116874e6b6b69d:
Merge net-next of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git (2018-04-05 20:57:10 -0600)
----------------------------------------------------------------
Merge candidates for 4.17 merge window
- Fix RDMA uapi headers to actually compile in userspace and be more
complete
- Three shared with netdev pull requests from Mellanox:
* 7 patches, mostly to net with 1 IB related one at the back). This
series addresses an IRQ performance issue (patch 1), cleanups related to
the fix for the IRQ performance problem (patches 2-6), and then extends
the fragmented completion queue support that already exists in the net
side of the driver to the ib side of the driver (patch 7).
* Mostly IB, with 5 patches to net that are needed to support the remaining
10 patches to the IB subsystem. This series extends the current
'representor' framework when the mlx5 driver is in switchdev mode from
being a netdev only construct to being a netdev/IB dev construct. The IB
dev is limited to raw Eth queue pairs only, but by having an IB dev of
this type attached to the representor for a switchdev port, it enables
DPDK to work on the switchdev device.
* All net related, but needed as infrastructure for the rdma driver
- Updates for the hns, i40iw, bnxt_re, cxgb3, cxgb4, hns drivers
- SRP performance updates
- IB uverbs write path cleanup patch series from Leon
- Add RDMA_CM support to ib_srpt. This is disabled by default. Users need to
set the port for ib_srpt to listen on in configfs in order for it to be
enabled (/sys/kernel/config/target/srpt/discovery_auth/rdma_cm_port)
- TSO and Scatter FCS support in mlx4
- Refactor of modify_qp routine to resolve problems seen while working on new
code that is forthcoming
- More refactoring and updates of RDMA CM for containers support from Parav
- mlx5 'fine grained packet pacing', 'ipsec offload' and 'device memory'
user API features
- Infrastructure updates for the new IOCTL interface, based on increased usage
- ABI compatibility bug fixes to fully support 32 bit userspace on 64 bit
kernel as was originally intended. See the commit messages for
extensive details
- Syzkaller bugs and code cleanups motivated by them
----------------------------------------------------------------
Andrew Morton (2):
drivers/infiniband/core/verbs.c: fix build with gcc-4.4.4
drivers/infiniband/ulp/srpt/ib_srpt.c: fix build with gcc-4.4.4
Andy Shevchenko (1):
RDMA/hns: Replace __raw_write*(cpu_to_le*()) with LE write*()
Ariel Levkovich (8):
IB/uverbs: Expose device memory capabilities to user
IB/uverbs: Add device memory capabilities reporting
IB/uverbs: Add alloc/free dm uverbs ioctl support
IB/uverbs: Add device memory registration ioctl support
net/mlx5: Query device memory capabilities
IB/mlx5: Device memory support in mlx5_ib
net/mlx5: Mkey creation command adjustments
IB/mlx5: Device memory mr registration support
Arnd Bergmann (3):
infiniband: qplib_fp: fix pointer cast
infiniband: bnxt_re: use BIT_ULL() for 64-bit bit masks
RDMA/i40iw: include linux/irq.h
Arushi (1):
infiniband: hw: Drop unnecessary continue
Aviad Yehezkel (3):
IB/mlx5: Add implementation for create and destroy action_xfrm
{net,IB}/mlx5: Add ipsec helper
IB/mlx5: Add IPsec support for egress and ingress
Bart Van Assche (13):
IB/srp: Fix completion vector assignment algorithm
IB/srp: Fix srp_abort()
Revert "IB/srp: Avoid that a cable pull can trigger a kernel crash"
IB/srp: Use %pIS instead of inet_ntop()
RDMA/core: Avoid that ib_drain_qp() triggers an out-of-bounds stack access
RDMA/rxe: Fix an out-of-bounds read
IB/srpt: Fix an out-of-bounds stack access in srpt_zerolength_write()
IB/hfi1: Add a missing rcu_read_unlock()
IB/srpt: Add RDMA/CM support
IB/hfi1: Fix a kernel-doc warning
RDMA/bnxt_re: Remove an unused variable
IB/srp: Fix IPv6 address parsing
IB/srp: Disallow duplicate RDMA/CM connections
Bharat Potnuri (1):
iw_cxgb4: print mapped ports correctly
Bodong Wang (2):
net/mlx5: Packet pacing enhancement
IB/mlx5: Packet packing enhancement for RAW QP
Boris Pismenny (2):
IB/mlx4: Check for egress flow steering
IB/uverbs: Introduce egress flow steering
Colin Ian King (2):
infiniband: remove redundant assignment to pointer 'rdi'
qedr: Fix spelling mistake: "hanlde" -> "handle"
Corentin Labbe (1):
IB/cxgb3: remove cxio_dbg.c
Daniel Jurgens (1):
IB/mlx5: Only synchronize RCU once when removing mkeys
Doug Ledford (6):
Merge tag 'mlx5-updates-2018-02-21' of git://git.kernel.org/.../mellanox/linux into k.o/wip/dl-for-next
Merge branch 'k.o/for-rc' into k.o/wip/dl-for-next
Merge tag 'mlx5-updates-2018-02-23' of git://git.kernel.org/.../mellanox/linux into k.o/wip/dl-for-next
Merge tag 'mlx5-updates-2018-02-28-1' of git://git.kernel.org/.../mellanox/linux into k.o/wip/dl-for-next
Merge tag 'mlx5-updates-2018-02-28-2' of git://git.kernel.org/.../mellanox/linux into k.o/wip/dl-for-next
Merge branch 'k.o/wip/dl-for-rc' into k.o/wip/dl-for-next
Gustavo A. R. Silva (2):
RDMA/bnxt_re/qplib_sp: Use true and false for boolean values
IB/ocrdma_hw: Remove redundant checks and goto labels
Guy Levi (1):
IB/mlx4: Add Scatter FCS support over WQ creation
Henry Orosco (2):
i40iw: Refactor of driver generated AEs
i40iw: Tear-down connection after CQP Modify QP failure
Hernán Gonzalez (3):
IB/qib: Remove unused variable (char *qib_sdma_event_names[])
IB/qib: Move char *qib_sdma_state_names[] and constify while there.
IB/rxe: Remove unused variable (char *rxe_qp_state_name[])
Honggang Li (2):
IB/core: Set speed string to SDR for invalid active rates
IB/mlx5: Set the default active rate and width to QDR and 4X
Ilya Lesokhin (1):
IB/mlx5: Maintain a single emergency page
Jason Gunthorpe (23):
RDMA: Do not used __packed in uapi headers
rxe: Do not use 'struct sockaddr' in a uapi header
IB/uverbs: Tidy uverbs_uobject_add
RDMA/rxe: Get rid of confusing udata parameter to rxe_cq_chk_attr
RDMA/rxe: Use structs to describe the uABI instead of opencoding
RDMA/mlx4: Move flag constants to uapi header
RDMA/i40iw: Move uapi header to include/uapi
RDMA/hns: Use structs to describe the uABI instead of opencoding
RDMA/cxgb4: Use structs to describe the uABI instead of opencoding
RDMA/bnxt: Fix structure layout for bnxt_re_pd_resp
RDMA/cxgb3: Use structs to describe the uABI instead of opencoding
RDMA/ocrdma: Fix structure layout for ocrdma_alloc_pd
RDMA: Remove minor pahole differences between 32/64
RDMA/ucma: Fix uABI structure layouts for 32/64 compat
RDMA/qedr: Fix uABI structure layouts for 32/64 compat
RDMA/mlx4: Fix uABI structure layouts for 32/64 compat
RDMA/rxe: Fix uABI structure layouts for 32/64 compat
RDMA: Change all uapi headers to use __aligned_u64 instead of __u64
Merge branch '32compat'
RDMA: Use u64_to_user_ptr everywhere
RDMA/mlx5: Fix definition of mlx5_ib_create_qp_resp
RDMA/qedr: Zero stack memory before copying to user space
Merge net-next of git://git.kernel.org/.../torvalds/linux-2.6.git
Kalderon, Michal (1):
RDMA/qedr: Fix wmb usage in qedr
Leon Romanovsky (28):
RDMA/uverbs: Convert command mask validity check function to be bool
RDMA/uverbs: Update sizeof users
RDMA/uverbs: Refactor flags checks and update return value
RDMA/uverbs: Fail as early as possible if not enough header data was provided
RDMA/uverbs: Return not supported error code for unsupported commands
RDMA/uverbs: Unify return values of not supported command
RDMA/uverbs: Refactor command header processing
RDMA/uverbs: Properly check command supported mask
RDMA/uverbs: Move uncontext check before SRCU read lock
RDMa/uverbs: Copy ex_hdr outside of SRCU read lock
RDMA/uverbs: Refactor the header validation logic
RDMA/uverbs: Replace user's types with kernel's types
RDMA/uverbs: Reduce number of command header flags checks
RDMA/verbs: Return proper error code for not supported system call
mailmap: Map Leon Romanovsky's emails
RDMA/mlx5: Refactor QP type check to be as early as possible
RDMA/mlx5: Fix NULL dereference while accessing XRC_TGT QPs
RDMA/uverbs: Ensure validity of current QP state value
RDMA/pvrdma: Properly annotate QP states
RDMA/verbs: Simplify modify QP check
RDMA/mlx5: Protect from NULL pointer derefence
RDMA/mlx5: Return proper value for not-supported command
RDMA/mlx5: Unify error flows in rereg MR failure paths
RDMA/mlx5: Guard ODP specific assignments with specific CONFIG
RDMA/mlx5: Simplify clean and destroy MR calls
RDMA/restrack: Don't rely on uninitialized variable in restrack_add flow
RDMA/restrack: Remove ambiguity in resource track clean logic
RDMA/nldev: Provide netdevice name and index
Majd Dibbiny (2):
IB/mlx5: Enable ECN capable bits for UD RoCE v2 QPs
IB/mlx5: Respect new UMR capabilities
Mark Bloch (2):
IB/mlx5: Expose more priorities for bypass namespace
IB/core: Protect against concurrent access to hardware stats
Markus Elfring (2):
IB/usnic: Delete an error message for a failed memory allocation in usnic_transport_init()
RDMA/iwpm: Delete an error message for a failed memory allocation in iwpm_create_nlmsg()
Martin Wilck (1):
rdma_rxe: make rxe work over 802.1q VLAN devices
Matan Barak (19):
IB/uverbs: Move to new headers and make naming consistent
IB/uverbs: Extend uverbs_ioctl header with driver_id
IB/uverbs: Enable compact representation of uverbs_attr_spec
IB/uverbs: Safely extend existing attributes
IB/uverbs: Expose parsing tree of all common objects to providers
IB/uverbs: Move ioctl path of create_cq and destroy_cq to a new file
IB/uverbs: Add macros to simplify adding driver specific attributes
IB/uverbs: Enable ioctl() uAPI by default for new verbs
IB/uverbs: UAPI pointers should use __aligned_u64 type
IB/mlx5: Initialize the parsing tree root without the help of uverbs
IB/uverbs: Add enum attribute type to ioctl() interface
IB/uverbs: Refactor kern_spec_to_ib_spec_filter
IB/uverbs: Add flow_action create and destroy verbs
IB/uverbs: Add action_handle flow steering specification
IB/uverbs: Add modify ESP flow_action
IB/uverbs: Introduce ESP steering match filter
IB/mlx5: Add modify_flow_action_esp verb
IB/mlx5: Add information for querying IPsec capabilities
IB/mlx5: Add ability to hash by IPSEC_SPI when creating a TIR
Mikhail Malygin (1):
IB/rxe: Fix for oops in rxe_register_device on ppc64le arch
Mustafa Ismail (1):
i40iw: Refactor handling of txpend list
Parav Pandit (31):
IB/core: Fix comments of GID query functions
IB/{core, ipoib}: Simplify ib_find_gid() for unused ndev
IB/core: Honor return status of ib_init_ah_from_mcmember()
IB/core: Honor port_num while resolving GID for IB link layer
IB/cma: Use rdma_protocol_roce() and remove cma_protocol_roce_dev_port()
IB/core: Remove rdma_resolve_ip_route() as exported symbol
IB/ocrdma: Removed GID add/del null routines
IB/cm: Add and use a helper function to add cm_id's to the port list
IB/core: Refactor ib_init_ah_attr_from_path() for RoCE
IB/cm: Introduce and use helper function to get cm_port from path
IB/core: Move rdma_addr_find_l2_eth_by_grh to core_priv.h
IB/core: Use rdma_is_port_valid()
IB/core: Remove unimplemented ib_peek_cq
IB/core: Refer to RoCE port property instead of GID table property
IB/cma: Resolve route only while receiving CM requests
IB/cm: Block processing alternate path handling RoCE Rx cm messages
IB/core: Generate GID change event regardless of RoCE GID table property
IB/core: Refer to RoCE port property instead of GID table property
IB/core: Search GID only for IB link layer
IB/core: Refer to RoCE port property to decide building cache
IB/addr: Constify dst_entry pointer
RDMA/cma: Move rdma_cm_state to cma_priv.h
IB/qedr: Remove GID add/del dummy routines
RDMA/core: Update query_gid documentation for HCA drivers
RDMA/providers: Simplify query_gid callback of RoCE providers
IB/core: Simplify ib_query_gid to always refer to cache
IB/core: Refactor GID modify code for RoCE
IB/providers: Avoid zero GID check for RoCE
IB/providers: Avoid null netdev check for RoCE
RDMA: Use ib_gid_attr during GID modification
IB/rxe: Removed GID add/del dummy routines
Roland Dreier (1):
RDMA/ucma: Don't allow setting RDMA_OPTION_IB_PATH without an RDMA device
Sergey Gorenko (1):
IB/srp: Use the IB_DEVICE_SG_GAPS_REG HCA feature if supported
Shiraz Saleem (3):
i40iw: Improve CM node lookup time on connection setup
i40iw: Implement get_vector_affinity API
i40iw: Remove pre-production workaround for resource profile 1
Sinan Kaya (2):
RDMA/qedr: eliminate duplicate barriers on weakly-ordered archs
IB/mlx4: Eliminate duplicate barriers on weakly-ordered archs
Steve Wise (13):
RDMA/restrack: clean up res_to_dev()
RDMA/nldev: common resource dumpit function
RDMA/CM: move rdma_id_private to cma_priv.h
RDMA/nldev: provide detailed CM_ID information
RDMA/nldev: provide detailed CQ information
iw_cxgb4: initialize ib_mr fields for user mrs
mlx4_ib: set user mr attributes in struct ib_mr
RDMA/nldev: provide detailed MR information
mlx4_ib: zero out struct ib_pd when allocating
RDMA/nldev: provide detailed PD information
iw_cxgb4: Add ib_device->get_netdev support
RDMA/CMA: remove RDMA_PS_SDP
RDMA/CMA: Add rdma_port_space to UAPI
Tejun Heo (1):
RDMAVT: Fix synchronization around percpu_ref
Yishai Hadas (2):
IB/mlx4: Move mlx4_uverbs_ex_query_device_resp to include/uapi/
IB/mlx4: Report TSO capabilities
Yixian Liu (8):
RDMA/hns: Fix QP state judgement before receiving work requests
RDMA/hns: Support rq record doorbell for the user space
RDMA/hns: Support cq record doorbell for the user space
RDMA/hns: Support rq record doorbell for kernel space
RDMA/hns: Support cq record doorbell for kernel space
RDMA/hns: Fix cqn type and init resp
RDMA/hns: Fix init resp when alloc ucontext
RDMA/hns: Fix cq record doorbell enable in kernel
Yuval Shaia (1):
IB/ipoib: Delete unused struct
Zhu Yanjun (5):
IB/rxe: remove unnecessary skb_clone
IB/rxe: remove unnecessary rxe in rxe_send
IB/rxe: change the function rxe_init_device_param type
IB: remove duplicate header files
IB/rxe: optimize mcast recv process
oulijun (2):
RDMA/hns: Fix a bug with modifying mac address
RDMA/hns: Use free_pages function instead of free_page
.mailmap | 2 +
MAINTAINERS | 1 +
drivers/infiniband/Kconfig | 11 +-
drivers/infiniband/core/Makefile | 4 +-
drivers/infiniband/core/addr.c | 13 +-
drivers/infiniband/core/cache.c | 533 ++++++++++---------
drivers/infiniband/core/cm.c | 67 ++-
drivers/infiniband/core/cma.c | 160 +++---
drivers/infiniband/core/cma_priv.h | 97 ++++
drivers/infiniband/core/core_priv.h | 11 +
drivers/infiniband/core/device.c | 18 +-
drivers/infiniband/core/iwpm_util.c | 5 +-
drivers/infiniband/core/multicast.c | 26 +-
drivers/infiniband/core/nldev.c | 364 +++++++++++--
drivers/infiniband/core/rdma_core.c | 13 +-
drivers/infiniband/core/restrack.c | 121 +++--
drivers/infiniband/core/sa_query.c | 202 ++++----
drivers/infiniband/core/sysfs.c | 53 +-
drivers/infiniband/core/ucm.c | 18 +-
drivers/infiniband/core/ucma.c | 40 +-
drivers/infiniband/core/uverbs.h | 41 ++
drivers/infiniband/core/uverbs_cmd.c | 279 +++++++---
drivers/infiniband/core/uverbs_ioctl.c | 60 ++-
drivers/infiniband/core/uverbs_ioctl_merge.c | 2 +-
drivers/infiniband/core/uverbs_main.c | 218 ++++----
drivers/infiniband/core/uverbs_std_types.c | 326 ++++--------
drivers/infiniband/core/uverbs_std_types_cq.c | 210 ++++++++
drivers/infiniband/core/uverbs_std_types_dm.c | 108 ++++
.../infiniband/core/uverbs_std_types_flow_action.c | 435 ++++++++++++++++
drivers/infiniband/core/uverbs_std_types_mr.c | 147 ++++++
drivers/infiniband/core/verbs.c | 87 ++--
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 20 +-
drivers/infiniband/hw/bnxt_re/ib_verbs.h | 6 +-
drivers/infiniband/hw/bnxt_re/main.c | 2 +-
drivers/infiniband/hw/bnxt_re/qplib_sp.c | 2 +-
drivers/infiniband/hw/cxgb3/Kconfig | 9 -
drivers/infiniband/hw/cxgb3/Makefile | 2 -
drivers/infiniband/hw/cxgb3/cxio_dbg.c | 206 --------
drivers/infiniband/hw/cxgb3/cxio_hal.h | 9 -
drivers/infiniband/hw/cxgb3/iwch_cq.c | 6 -
drivers/infiniband/hw/cxgb3/iwch_provider.c | 5 +-
drivers/infiniband/hw/cxgb4/device.c | 24 +-
drivers/infiniband/hw/cxgb4/mem.c | 3 +
drivers/infiniband/hw/cxgb4/provider.c | 24 +-
drivers/infiniband/hw/hfi1/driver.c | 1 +
drivers/infiniband/hw/hfi1/hfi.h | 1 -
drivers/infiniband/hw/hfi1/qp.c | 1 -
drivers/infiniband/hw/hfi1/user_exp_rcv.c | 4 +-
drivers/infiniband/hw/hfi1/verbs.c | 2 +-
drivers/infiniband/hw/hns/Makefile | 2 +-
drivers/infiniband/hw/hns/hns_roce_ah.c | 8 +-
drivers/infiniband/hw/hns/hns_roce_cq.c | 54 +-
drivers/infiniband/hw/hns/hns_roce_db.c | 180 +++++++
drivers/infiniband/hw/hns/hns_roce_device.h | 59 ++-
drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 8 +-
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 80 +--
drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 3 +
drivers/infiniband/hw/hns/hns_roce_main.c | 41 +-
drivers/infiniband/hw/hns/hns_roce_mr.c | 2 +-
drivers/infiniband/hw/hns/hns_roce_pd.c | 5 +-
drivers/infiniband/hw/hns/hns_roce_qp.c | 70 ++-
drivers/infiniband/hw/i40iw/i40iw.h | 11 +-
drivers/infiniband/hw/i40iw/i40iw_cm.c | 129 +++--
drivers/infiniband/hw/i40iw/i40iw_cm.h | 5 +-
drivers/infiniband/hw/i40iw/i40iw_ctrl.c | 56 +-
drivers/infiniband/hw/i40iw/i40iw_d.h | 5 +-
drivers/infiniband/hw/i40iw/i40iw_hw.c | 35 ++
drivers/infiniband/hw/i40iw/i40iw_main.c | 2 -
drivers/infiniband/hw/i40iw/i40iw_puda.c | 8 +-
drivers/infiniband/hw/i40iw/i40iw_type.h | 11 +
drivers/infiniband/hw/i40iw/i40iw_utils.c | 10 +-
drivers/infiniband/hw/i40iw/i40iw_verbs.c | 57 +-
drivers/infiniband/hw/mlx4/ah.c | 10 +-
drivers/infiniband/hw/mlx4/main.c | 102 ++--
drivers/infiniband/hw/mlx4/mlx4_ib.h | 19 +-
drivers/infiniband/hw/mlx4/mr.c | 3 +
drivers/infiniband/hw/mlx4/qp.c | 27 +-
drivers/infiniband/hw/mlx5/ah.c | 12 +
drivers/infiniband/hw/mlx5/cmd.c | 104 ++++
drivers/infiniband/hw/mlx5/cmd.h | 4 +
drivers/infiniband/hw/mlx5/main.c | 572 +++++++++++++++++++--
drivers/infiniband/hw/mlx5/mlx5_ib.h | 71 ++-
drivers/infiniband/hw/mlx5/mr.c | 257 ++++++---
drivers/infiniband/hw/mlx5/qp.c | 156 ++++--
drivers/infiniband/hw/mthca/mthca_provider.c | 1 +
drivers/infiniband/hw/nes/nes_verbs.c | 1 +
drivers/infiniband/hw/ocrdma/ocrdma_ah.c | 8 +-
drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 22 +-
drivers/infiniband/hw/ocrdma/ocrdma_main.c | 4 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 34 --
drivers/infiniband/hw/ocrdma/ocrdma_verbs.h | 12 -
drivers/infiniband/hw/qedr/main.c | 9 +-
drivers/infiniband/hw/qedr/qedr_roce_cm.c | 16 +-
drivers/infiniband/hw/qedr/verbs.c | 155 ++----
drivers/infiniband/hw/qedr/verbs.h | 6 -
drivers/infiniband/hw/qib/qib.h | 3 -
drivers/infiniband/hw/qib/qib_diag.c | 2 +-
drivers/infiniband/hw/qib/qib_file_ops.c | 8 +-
drivers/infiniband/hw/qib/qib_iba7322.c | 10 +
drivers/infiniband/hw/qib/qib_init.c | 4 +-
drivers/infiniband/hw/qib/qib_sdma.c | 24 -
drivers/infiniband/hw/qib/qib_verbs.c | 2 +-
drivers/infiniband/hw/usnic/usnic_ib_main.c | 1 +
drivers/infiniband/hw/usnic/usnic_transport.c | 4 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 32 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 2 +-
drivers/infiniband/sw/rdmavt/vt.c | 5 +-
drivers/infiniband/sw/rdmavt/vt.h | 1 -
drivers/infiniband/sw/rxe/rxe.c | 4 +-
drivers/infiniband/sw/rxe/rxe.h | 6 +-
drivers/infiniband/sw/rxe/rxe_av.c | 5 +-
drivers/infiniband/sw/rxe/rxe_cq.c | 15 +-
drivers/infiniband/sw/rxe/rxe_loc.h | 20 +-
drivers/infiniband/sw/rxe/rxe_net.c | 56 +-
drivers/infiniband/sw/rxe/rxe_qp.c | 35 +-
drivers/infiniband/sw/rxe/rxe_queue.c | 24 +-
drivers/infiniband/sw/rxe/rxe_queue.h | 5 +-
drivers/infiniband/sw/rxe/rxe_recv.c | 16 +-
drivers/infiniband/sw/rxe/rxe_resp.c | 15 +-
drivers/infiniband/sw/rxe/rxe_srq.c | 44 +-
drivers/infiniband/sw/rxe/rxe_verbs.c | 101 ++--
drivers/infiniband/sw/rxe/rxe_verbs.h | 2 -
drivers/infiniband/ulp/ipoib/ipoib.h | 5 -
drivers/infiniband/ulp/ipoib/ipoib_ib.c | 2 +-
drivers/infiniband/ulp/srp/ib_srp.c | 181 +++----
drivers/infiniband/ulp/srpt/ib_srpt.c | 396 +++++++++++---
drivers/infiniband/ulp/srpt/ib_srpt.h | 8 +-
drivers/net/ethernet/mellanox/mlx4/fw.c | 1 +
drivers/net/ethernet/mellanox/mlx4/main.c | 1 +
.../net/ethernet/mellanox/mlx5/core/en_common.c | 2 +-
drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 21 +-
.../net/ethernet/mellanox/mlx5/core/fpga/conn.c | 2 +-
drivers/net/ethernet/mellanox/mlx5/core/fw.c | 6 +
drivers/net/ethernet/mellanox/mlx5/core/rl.c | 63 ++-
include/linux/mlx4/device.h | 4 -
include/linux/mlx5/device.h | 12 +-
include/linux/mlx5/driver.h | 15 +-
include/linux/mlx5/fs_helpers.h | 8 +
include/linux/mlx5/mlx5_ifc.h | 102 +++-
include/rdma/ib_addr.h | 9 -
include/rdma/ib_cache.h | 29 --
include/rdma/ib_sa.h | 13 +
include/rdma/ib_verbs.h | 212 ++++++--
include/rdma/rdma_cm.h | 44 +-
include/rdma/rdma_vt.h | 2 +-
include/rdma/restrack.h | 26 +-
include/rdma/uverbs_ioctl.h | 153 +++++-
include/rdma/uverbs_named_ioctl.h | 90 ++++
include/rdma/uverbs_std_types.h | 34 +-
include/uapi/rdma/bnxt_re-abi.h | 21 +-
include/uapi/rdma/cxgb3-abi.h | 17 +-
include/uapi/rdma/cxgb4-abi.h | 29 +-
include/uapi/rdma/hfi/hfi1_ioctl.h | 32 +-
include/uapi/rdma/hfi/hfi1_user.h | 10 +-
include/uapi/rdma/hns-abi.h | 22 +-
.../uapi/rdma/i40iw-abi.h | 16 +-
include/uapi/rdma/ib_user_cm.h | 48 +-
include/uapi/rdma/ib_user_ioctl_cmds.h | 134 +++++
include/uapi/rdma/ib_user_ioctl_verbs.h | 96 ++--
include/uapi/rdma/ib_user_mad.h | 4 +-
include/uapi/rdma/ib_user_verbs.h | 195 ++++---
include/uapi/rdma/mlx4-abi.h | 52 +-
include/uapi/rdma/mlx5-abi.h | 72 ++-
include/uapi/rdma/mlx5_user_ioctl_cmds.h | 48 ++
include/uapi/rdma/mlx5_user_ioctl_verbs.h | 43 ++
include/uapi/rdma/mthca-abi.h | 10 +-
include/uapi/rdma/nes-abi.h | 6 +-
include/uapi/rdma/ocrdma-abi.h | 36 +-
include/uapi/rdma/qedr-abi.h | 20 +-
include/uapi/rdma/rdma_netlink.h | 51 ++
include/uapi/rdma/rdma_user_cm.h | 49 +-
include/uapi/rdma/rdma_user_ioctl.h | 38 +-
include/uapi/rdma/rdma_user_ioctl_cmds.h | 99 ++++
include/uapi/rdma/rdma_user_rxe.h | 58 ++-
include/uapi/rdma/vmw_pvrdma-abi.h | 49 +-
175 files changed, 6672 insertions(+), 2915 deletions(-)
create mode 100644 drivers/infiniband/core/cma_priv.h
create mode 100644 drivers/infiniband/core/uverbs_std_types_cq.c
create mode 100644 drivers/infiniband/core/uverbs_std_types_dm.c
create mode 100644 drivers/infiniband/core/uverbs_std_types_flow_action.c
create mode 100644 drivers/infiniband/core/uverbs_std_types_mr.c
delete mode 100644 drivers/infiniband/hw/cxgb3/cxio_dbg.c
create mode 100644 drivers/infiniband/hw/hns/hns_roce_db.c
create mode 100644 include/rdma/uverbs_named_ioctl.h
rename drivers/infiniband/hw/i40iw/i40iw_ucontext.h => include/uapi/rdma/i40iw-abi.h (90%)
create mode 100644 include/uapi/rdma/ib_user_ioctl_cmds.h
create mode 100644 include/uapi/rdma/mlx5_user_ioctl_cmds.h
create mode 100644 include/uapi/rdma/mlx5_user_ioctl_verbs.h
create mode 100644 include/uapi/rdma/rdma_user_ioctl_cmds.h
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2018-04-06 16:05 Jason Gunthorpe
@ 2018-05-16 17:39 ` Eugene Syromiatnikov
2018-05-16 17:49 ` Jason Gunthorpe
0 siblings, 1 reply; 149+ messages in thread
From: Eugene Syromiatnikov @ 2018-05-16 17:39 UTC (permalink / raw)
To: Jason Gunthorpe; +Cc: Linux Torvalds, Doug Ledford, linux-rdma, linux-kernel
On Fri, Apr 06, 2018 at 10:05:41AM -0600, Jason Gunthorpe wrote:
> RDMA: Change all uapi headers to use __aligned_u64 instead of __u64
Looks like this change changed the size of struct hfi1_ctxt_info and the
value of HFI1_IOCTL_CTXT_INFO ioctl number as a result.
> IB/uverbs: Extend uverbs_ioctl header with driver_id
This patch changed the value of the RDMA_VERBS_IOCTL ioctl number.
(see https://lists.strace.io/pipermail/strace-devel/2018-May/008196.html
for the reference)
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2018-05-16 17:39 ` Eugene Syromiatnikov
@ 2018-05-16 17:49 ` Jason Gunthorpe
2018-05-16 18:01 ` Eugene Syromiatnikov
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2018-05-16 17:49 UTC (permalink / raw)
To: Eugene Syromiatnikov
Cc: Linux Torvalds, Doug Ledford, linux-rdma, linux-kernel
On Wed, May 16, 2018 at 07:39:08PM +0200, Eugene Syromiatnikov wrote:
> On Fri, Apr 06, 2018 at 10:05:41AM -0600, Jason Gunthorpe wrote:
> > RDMA: Change all uapi headers to use __aligned_u64 instead of __u64
> Looks like this change changed the size of struct hfi1_ctxt_info and the
> value of HFI1_IOCTL_CTXT_INFO ioctl number as a result.
Only on 32 bit..
HF1 does not build on 32 bit kernels, so the 32 bit version of the
ioctl is never supported.
HFI1 also does not define '.compat_ioctl' so even a 32 bit user space
on 64 bit kernel cannot call this ioctl.
So, yes it changed, but it doesn't matter.
> > IB/uverbs: Extend uverbs_ioctl header with driver_id
> This patch changed the value of the RDMA_VERBS_IOCTL ioctl number.
>
> (see https://lists.strace.io/pipermail/strace-devel/2018-May/008196.html
> for the reference)
Yes.
RDMA_VERBS_IOCTL has been considered experimental and was protected by
a CONFIG option.
After the above commit the experimental was dropped and the ABI was
fixed, but prior to doing so, the struct was revised based on
feedback.
There is no userspace user of the old struct, only the new struct.
Basically from strace's perspective it should use the new ioctl #'s
across all kernel revs and it will be correct as there is no user
space that will issue the old ioctls.
Jason
^ permalink raw reply [flat|nested] 149+ messages in thread
* Re: [GIT PULL] Please pull RDMA subsystem changes
2018-05-16 17:49 ` Jason Gunthorpe
@ 2018-05-16 18:01 ` Eugene Syromiatnikov
0 siblings, 0 replies; 149+ messages in thread
From: Eugene Syromiatnikov @ 2018-05-16 18:01 UTC (permalink / raw)
To: Jason Gunthorpe; +Cc: Linux Torvalds, Doug Ledford, linux-rdma, linux-kernel
On Wed, May 16, 2018 at 11:49:33AM -0600, Jason Gunthorpe wrote:
> On Wed, May 16, 2018 at 07:39:08PM +0200, Eugene Syromiatnikov wrote:
> > On Fri, Apr 06, 2018 at 10:05:41AM -0600, Jason Gunthorpe wrote:
> > > RDMA: Change all uapi headers to use __aligned_u64 instead of __u64
> > Looks like this change changed the size of struct hfi1_ctxt_info and the
> > value of HFI1_IOCTL_CTXT_INFO ioctl number as a result.
>
> Only on 32 bit..
>
> HF1 does not build on 32 bit kernels, so the 32 bit version of the
> ioctl is never supported.
>
> HFI1 also does not define '.compat_ioctl' so even a 32 bit user space
> on 64 bit kernel cannot call this ioctl.
>
> So, yes it changed, but it doesn't matter.
>
> > > IB/uverbs: Extend uverbs_ioctl header with driver_id
> > This patch changed the value of the RDMA_VERBS_IOCTL ioctl number.
> >
> > (see https://lists.strace.io/pipermail/strace-devel/2018-May/008196.html
> > for the reference)
>
> Yes.
>
> RDMA_VERBS_IOCTL has been considered experimental and was protected by
> a CONFIG option.
>
> After the above commit the experimental was dropped and the ABI was
> fixed, but prior to doing so, the struct was revised based on
> feedback.
>
> There is no userspace user of the old struct, only the new struct.
>
> Basically from strace's perspective it should use the new ioctl #'s
> across all kernel revs and it will be correct as there is no user
> space that will issue the old ioctls.
Got it, thanks for the clarification!
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-03-29 19:17 Jason Gunthorpe
0 siblings, 0 replies; 149+ messages in thread
From: Jason Gunthorpe @ 2018-03-29 19:17 UTC (permalink / raw)
To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
Hi Linus,
Fifth pull request for -rc.
It has been fairly silent lately on our -rc front. Big queue of patches on the
mailing list going to for-next though.
The following changes since commit e8980d67d6017c8eee8f9c35f782c4bd68e004c9:
RDMA/ucma: Ensure that CM_ID exists prior to access it (2018-03-20 11:07:21 -0600)
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 84652aefb347297aa08e91e283adf7b18f77c2d5:
RDMA/ucma: Introduce safer rdma_addr_size() variants (2018-03-28 16:13:36 -0600)
----------------------------------------------------------------
Fifth pull request for 4.16-rc
Bug fixes:
- qedr driver bugfixes causing application hangs, wrong uapi errnos, and a
race condition
- 3 syzkaller found bugfixes in the ucma uapi
Regression fixes for things introduced in 4.16:
- Crash on error introduced in mlx5 UMR flow
- Crash on module unload/etc introduced by bad interaction of restrack
and mlx5 patches this cycle
- Typo in a two line syzkaller bugfix causing a bad regression
- Coverity report of nonsense code in hns driver
----------------------------------------------------------------
Chien Tin Tung (1):
RDMA/ucma: Correct option size check using optlen
Colin Ian King (1):
RDMA/hns: ensure for-loop actually iterates and free's buffers
Jason Gunthorpe (1):
RDMA/rdma_cm: Fix use after free race with process_one_req
Kalderon, Michal (3):
RDMA/qedr: fix QP's ack timeout configuration
RDMA/qedr: Fix rc initialization on CNQ allocation failure
RDMA/qedr: Fix QP state initialization race
Leon Romanovsky (3):
RDMA/restrack: Move restrack_clean to be symmetrical to restrack_init
RDMA/ucma: Check that device is connected prior to access it
RDMA/ucma: Check that device exists prior to accessing it
Mark Bloch (1):
IB/mlx5: Don't clean uninitialized UMR resources
Roland Dreier (1):
RDMA/ucma: Introduce safer rdma_addr_size() variants
drivers/infiniband/core/addr.c | 25 ++++++++++++++++
drivers/infiniband/core/device.c | 3 +-
drivers/infiniband/core/ucma.c | 47 +++++++++++++++++-------------
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 2 +-
drivers/infiniband/hw/mlx5/main.c | 12 ++++++--
drivers/infiniband/hw/mlx5/mr.c | 3 ++
drivers/infiniband/hw/qedr/main.c | 3 +-
drivers/infiniband/hw/qedr/verbs.c | 45 +++++++++++++++++++---------
include/rdma/ib_addr.h | 2 ++
9 files changed, 102 insertions(+), 40 deletions(-)
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-03-20 23:17 Jason Gunthorpe
0 siblings, 0 replies; 149+ messages in thread
From: Jason Gunthorpe @ 2018-03-20 23:17 UTC (permalink / raw)
To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 2887 bytes --]
Hi Linus,
Fourth pull request for -rc.
Not much exciting here, almost entirely syzkaller fixes. This is going to
be on ongoing theme for some time, I think. Both Google and Mellanox are now
running syzkaller on different parts of the user API.
The following changes since commit 28e9091e3119933c38933cb8fc48d5618eb784c8:
RDMA/mlx5: Fix integer overflow while resizing CQ (2018-03-09 18:10:48 -0500)
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 e8980d67d6017c8eee8f9c35f782c4bd68e004c9:
RDMA/ucma: Ensure that CM_ID exists prior to access it (2018-03-20 11:07:21 -0600)
----------------------------------------------------------------
Fourth pull request for 4.16-rc
- Many bug fixes related to syzkaller from Leon Romanovsky.
These are still for the mlx driver and ucma interface.
- Fix a situation with port reuse for iWarp, discovered during scale-up
testing
- Bug fixes for the profile and restrack patches accepted during this merge
window
- Compile warning cleanups from Arnd, this is apparently the last warning
to make 32 bit builds quite.
----------------------------------------------------------------
Arnd Bergmann (2):
infiniband: qplib_fp: fix pointer cast
infiniband: bnxt_re: use BIT_ULL() for 64-bit bit masks
Boris Pismenny (2):
IB/mlx5: Fix out-of-bounds read in create_raw_packet_qp_rq
IB/mlx5: Fix integer overflows in mlx5_ib_create_srq
Leon Romanovsky (7):
RDMA/mlx5: Fix crash while accessing garbage pointer and freed memory
RDMA/ucma: Fix access to non-initialized CM_ID object
RDMA/ucma: Don't allow join attempts for unsupported AF family
RDMA/ucma: Check AF family prior resolving address
RDMA/ucma: Fix use-after-free access in ucma_close
RDMA/verbs: Remove restrack entry from XRCD structure
RDMA/ucma: Ensure that CM_ID exists prior to access it
Mark Bloch (1):
IB/mlx5: Fix cleanup order on unload
Tatyana Nikolova (1):
RDMA/core: Do not use invalid destination in determining port reuse
drivers/infiniband/core/cma.c | 15 ++++++++-----
drivers/infiniband/core/ucma.c | 36 +++++++++++++++++++++++---------
drivers/infiniband/hw/bnxt_re/bnxt_re.h | 4 ++--
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 2 +-
drivers/infiniband/hw/bnxt_re/qplib_fp.c | 4 ++--
drivers/infiniband/hw/mlx5/main.c | 21 +++++++++++--------
drivers/infiniband/hw/mlx5/mlx5_ib.h | 3 ++-
drivers/infiniband/hw/mlx5/mr.c | 12 +++++++----
drivers/infiniband/hw/mlx5/qp.c | 23 +++++++++++++-------
drivers/infiniband/hw/mlx5/srq.c | 15 +++++++------
include/linux/mlx5/driver.h | 4 ++--
include/rdma/ib_verbs.h | 4 ----
12 files changed, 90 insertions(+), 53 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2018-01-31 17:47 Jason Gunthorpe
[not found] ` <20180131174735.GA18568-uk2M96/98Pc@public.gmane.org>
0 siblings, 1 reply; 149+ messages in thread
From: Jason Gunthorpe @ 2018-01-31 17:47 UTC (permalink / raw)
To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA
[-- Attachment #1: Type: text/plain, Size: 31754 bytes --]
Hi Linus,
The is the first pull request for the merge window. We are aware of
another 20-30 patches that didn't make the cutoff and are various
kinds of fixes and code quality improvements. Due to this we are
anticipating a 2nd pull request next week.
This cycle had two conflicts between the RDMA tree and v4.15 due to
netdev and RDMA patches that went into the -rc cycle. I checked with
the Mellanox teams involved and they confirm they were co-ordinated
about this and felt the -rc patches needed to go ahead. There were
also two conflicts between RDMA -rc patches and RDMA -next patches
that were resolved by applying for-next patches overtop of RDMA -rc
and merging into RDMA -next.
Since the conflict with v4.15 involves some code motion and is not so
trivial, so I have included a merge to tag v4.15 as the top commit in
this PR that has the resolution reviewed by the patch authors and
tested in linux-next. The tag 'for-linus-unmerged' is available
without this merge if you desire.
Overall this cycle did not have any major excitement, and did not
require any shared branch with netdev. Lots of driver updates,
particularly of the scale-up and performance variety. The largest body
of core work was Parav's patches fixing and restructing some of the
core code to make way for future RDMA containerization.
There is one commit out of our tree:
lib/kobject.c | 2 +
That was Ack'd by GKH
Regards,
Jason
The following changes since commit d8a5b80568a9cb66810e75b182018e9edb68e8ff:
Linux 4.15 (2018-01-28 13:20:33 -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 e7996a9a77fc669387da43ff4823b91cc4872bd0:
Merge tag v4.15 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git (2018-01-30 09:30:00 -0700)
----------------------------------------------------------------
First merge window pull request for 4.16
- Misc small driver fixups to
bnxt_re/hfi1/qib/hns/ocrdma/rdmavt/vmw_pvrdma/nes
- Several major feature adds to bnxt_re driver: SRIOV VF RoCE support,
HugePages support, extended hardware stats support, and SRQ support
- A notable number of fixes to the i40iw driver from debugging scale up
testing
- More work to enable the new hip08 chip in the hns driver
- Misc small ULP fixups to srp/srpt//ipoib
- Preparation for srp initiator and target to support the RDMA-CM
protocol for connections
- Add RDMA-CM support to srp initiator, srp target is still a WIP
- Fixes for a couple of places where ipoib could spam the dmesg log
- Fix encode/decode of FDR/EDR data rates in the core
- Many patches from Parav with ongoing work to clean up inconsistencies
and bugs in RoCE support around the rdma_cm
- mlx5 driver support for the userspace features 'thread domain', 'wallclock
timestamps' and 'DV Direct Connected transport'. Support for the firmware
dual port rocee capability
- Core support for more than 32 rdma devices in the char dev allocation
- kernel doc updates from Randy Dunlap
- New netlink uAPI for inspecting RDMA objects similar in spirit to 'ss'
- One minor change to the kobject code acked by GKH
----------------------------------------------------------------
Alex Estrin (1):
IB/ipoib: Fix for notify send CQ failure messages
Amrani, Ram (1):
MAINTAINERS: Remove Ram Amrani from Q-Logic RDMA driver
Andrew F. Davis (1):
IB/ocrdma: Remove unneeded conversions to bool
Andy Shevchenko (1):
IB/srp: replace custom implementation of hex2bin()
Anton Vasilyev (1):
RDMA/ocrdma: Fix permissions for OCRDMA_RESET_STATS
Arnd Bergmann (4):
i40iw: remove unused 'timeval' struct member
nes: remove unused 'timeval' struct member
IB/mlx5: revisit -Wmaybe-uninitialized warning
infiniband: cxgb4: use ktime_get for timestamps
Artemy Kovalyov (1):
IB/umem: Fix use of npages/nmap fields
Arvind Yadav (1):
RDMA/bnxt_re: Remove redundant bnxt_qplib_disable_nq() call
Bart Van Assche (35):
IB/core: Fix two kernel warnings triggered by rxe registration
IB/srpt: Remove an unused structure member
IB/srpt: Fix kernel-doc warnings in ib_srpt.c
IB/srpt: Document all structure members in ib_srpt.h
IB/srpt: Rename a local variable, a member variable and a constant
IB/srpt: Reduce the severity level of a log message
IB/srpt: Verify port numbers in srpt_event_handler()
IB/srpt: Use the IPv6 format for GIDs in log messages
IB/srpt: Convert a warning into a debug message
IB/srpt: Reduce frequency of receive failure messages
IB/srpt: Introduce srpt_format_guid()
IB/srpt: Inline srpt_get_cmd_state()
IB/srpt: Micro-optimize I/O context state manipulation
RDMA/rxe: Fix a race condition related to the QP error state
RDMA/rxe: Fix a race condition in rxe_requester()
RDMA/rxe: Fix rxe_qp_cleanup()
IB/srp: Use kstrtoull() instead of simple_strtoull()
IB/srp: Improve path record query error message
IB/srp: Refactor srp_send_req()
IB/srpt: Make it safe to use RCU for srpt_device.rch_list
IB/srpt: Rework srpt_disconnect_ch_sync()
IB/srpt: Add P_Key support
IB/srpt: One target per port
IB/srpt: Use the source GID as session name
IB/srpt: Rework multi-channel support
IB/srpt: Simplify srpt_close_session()
IB/srpt: Log all zero-length writes and completions
IB/srpt: Fix login-related race conditions
IB/srpt: Fix a race condition related to wait list processing
IB/srpt: Don't allow reordering of commands on wait list
IB/srpt: Preparations for adding RDMA/CM support
IB/srpt: Move the code for parsing struct ib_cm_req_event_param
kobject: Export kobj_ns_grab_current() and kobj_ns_drop()
IB/srp: Add RDMA/CM support
IB/srp: Add target_can_queue login parameter
Bharat Potnuri (2):
iser-target: avoid reinitializing rdma contexts for isert commands
iw_cxgb4: Change error/warn prints to pr_debug
Bodong Wang (1):
IB/core: Fix ib_wc structure size to remain in 64 bytes boundary
Bryan Tan (5):
RDMA/vmw_pvrdma: Add UAR SRQ macros in ABI header file
RDMA/vmw_pvrdma: Clarify QP and CQ is_kernel logic
RDMA/vmw_pvrdma: Use more specific sizeof in kcalloc
RDMA/vmw_pvrdma: Use refcount_t instead of atomic_t
RDMA/vmw_pvrdma: Remove usage of BIT() from UAPI header
Chien Tin Tung (1):
i40iw: Use sqsize to initialize cqp_requests elements
Colin Ian King (3):
IB/qib: remove redundant setting of any in for-loop
iw_cxgb4: make pointer reg_workq static
IB/mlx5: remove redundant assignment of mdev
Corentin Labbe (2):
IB/mthca: remove mthca_user.h
IB/qib: remove qib_keys.c
Dan Carpenter (2):
RDMA/cxgb4: Add a sanity check in process_work()
IB/mlx4: Potential buffer overflow in _mlx4_set_path()
Daniel Jurgens (14):
IB/cm: Add debug prints to ib_cm
net/mlx5: Fix race for multiple RoCE enable
net/mlx5: Set software owner ID during init HCA
IB/core: Change roce_rescan_device to return void
IB/mlx5: Reduce the use of num_port capability
IB/mlx5: Make netdev notifications multiport capable
{net, IB}/mlx5: Manage port association for multiport RoCE
IB/mlx5: Move IB event processing onto a workqueue
IB/mlx5: Implement dual port functionality in query routines
IB/mlx5: Update counter implementation for dual port RoCE
{net, IB}/mlx5: Change set_roce_gid to take a port number
IB/mlx5: Route MADs for dual port RoCE
IB/mlx5: Don't advertise RAW QP support in dual port mode
net/mlx5: Set num_vhca_ports capability
Davidlohr Bueso (1):
IB/mthca: Fix gup usage in mthca_map_user_db()
Dennis Dalessandro (1):
rdma: Update maintainer contact for Intel RDMA drivers
Devesh Sharma (1):
RDMA/bnxt_re: Add SRQ support for Broadcom adapters
Don Hiatt (4):
IB/hfi1: Mask the path bits with the LMC for 16B RC Acks
IB/CM: Change sgid to IB GID when handling CM request
IB/core: Use rdma_cap_opa_mad to check for OPA
IB/hfi1: Change slid arg in ingress_pkey_table_fail to 32bit
Doug Ledford (2):
Merge branch 'bart-srpt-for-next' into k.o/wip/dl-for-next
MAINTAINERS: Fix the location of the rdma git repo
Erez Alfasi (1):
IB/mlx4: Remove unused ibpd parameter
Erez Shitrit (2):
IB/ipoib: Avoid memory leak if the SA returns a different DGID
IB/ipoib: Update pathrec field if not valid record
Feras Daoud (2):
net/mlx5e: Add clock info page to mlx5 core devices
IB/mlx5: Mmap the HCA's clock info to user-space
Geert Uytterhoeven (2):
i40w: Remove garbage at end of INFINIBAND_I40IW Kconfig section
RDMA/iwpm: Fix uninitialized error code in iwpm_send_mapinfo()
Gomonovych, Vasyl (1):
IB/core: Use PTR_ERR_OR_ZERO()
Guy Levi (1):
IB/mlx4: Add support to RSS hash for inner headers
Hans Westgaard Ry (1):
RDMA/core: Add encode/decode FDR/EDR rates
Henry Orosco (1):
i40iw: Change accelerated flag to bool
Himanshu Jha (5):
IB/ocrdma: Use zeroing memory allocator than allocator/memset
RDMA/vmw_pvrdma: Use zeroing memory allocator than allocator/memset
RDMA/qedr: Use zeroing memory allocator than allocator/memset
RDMA/bnxt_re: Use zeroing memory allocator than allocator/memset
IB/mthca: Use zeroing memory allocator than allocator/memset
Huy Nguyen (2):
IB/core: Remove the locking for character device bitmaps
IB/core: Increase number of char device minors
Jack Morgenstein (2):
IB/mlx4: Fix incorrectly releasing steerable UD QPs when have only ETH ports
IB/umad: Fix use of unprotected device pointer
Jan Sokolowski (1):
IB/hfi1: Use 4096 for default active MTU in query_qp
Jason Gunthorpe (8):
Merge branch 'from-rc' of git://git.kernel.org/.../rdma/rdma.git
RDMA: Mark imm_data as be32 in the verbs uapi header
RDMA/hns: Fix endian problems around imm_data and rkey
RDMA/qedr: Fix endian problems around imm_data
RDMA/uverbs: Use an unambiguous errno for method not supported
IB/rxe: Change RDMA_RXE kconfig to use select
RDMA: Move enum ib_cq_creation_flags to uapi headers
Merge tag v4.15 of git://git.kernel.org/.../torvalds/linux-2.6.git
Jia-Ju Bai (1):
i40iw: Replace mdelay with msleep in i40iw_wait_pe_ready
Joe Perches (1):
IB/qib: Cleanup qib_set_part_key() with direct returns
Jonathan Toppins (1):
bnxt_re: report RoCE device support at info level
Kaike Wan (2):
IB/rdmavt: No need to cancel RNRNAK retry timer when it is running
IB/rdmavt: Add trace for RNRNAK timer
Kalderon, Michal (1):
RDMA/qedr: lower print level of flushed CQEs
Leon Romanovsky (17):
RDMA/rxe: Remove useless EXPORT_SYMBOL
RDMA/netlink: Simplify code of autoload modules
RDMA/core: Replace open-coded variant of put_device
RDMA/nldev: Refactor setting the nldev handle to a common function
RDMA/cma: Mark end of CMA ID messages
RDMA/mlx5: Remove redundant allocation warning print
RDMA/srpt: Fix RCU debug build error
RDMA/mlx5: Avoid memory leak in case of XRCD dealloc failure
RDMA/cm: Fix access to uninitialized variable
RDMA/core: Use the MODNAME instead of the function name for pd callers
RDMA/core: Save kernel caller name when creating PD and CQ objects
RDMA/restrack: Add general infrastructure to track RDMA resources
RDMA/core: Add resource tracking for create and destroy QPs
RDMA/core: Add resource tracking for create and destroy CQs
RDMA/core: Add resource tracking for create and destroy PDs
RDMA/nldev: Provide global resource utilization
RDMA/nldev: Provide detailed QP information
Majd Dibbiny (1):
IB/core: Make sure that PSN does not overflow
Maor Gottlieb (1):
IB/mlx5: Report inner RSS capability
Mark Bloch (6):
IB/mlx5: Create profile infrastructure to add and remove stages
IB/mlx5: Move RoCE/ETH initialization to the corresponding stage
IB/mlx5: Move ODP initialization to the corresponding stage
IB/mlx5: Move hardware counters initialization to the corresponding stage
IB/mlx5: Move loopback initialization to the corresponding stage
IB/mlx5: Move locks initialization to the corresponding stage
Markus Elfring (3):
IB/iser: Delete an error message for a failed memory allocation in iser_send_data_out()
IB/iser: Delete an unnecessary variable initialisation in iser_send_data_out()
IB/iser: Combine substrings for three messages
Matan Barak (1):
IB/core: Fix memory leak in cm_req_handler error flows
Max Gurtovoy (1):
IB/core: postpone WR initialization during queue drain
Michael J. Ruhl (4):
IB/hfi1: Add RQ/SRQ information to QP stats
IB/{rdmavt, hfi1, qib}: Self determine driver name
IB/{rdmavt, hfi1, qib}: Remove get_card_name() downcall
IB/{hfi1, qib}: Fix a concurrency issue with device name in logging
Mike Marciniszyn (3):
IB/qib: Fix comparison error with qperf compare/swap test
IB/rdmavt: Use correct numa node for SRQ allocation
IB/rdmavt: Allocate CQ memory on the correct node
Moni Shoua (6):
net/mlx5: Add DCT command interface
net/mlx5: Enable DC transport
IB/core: Introduce driver QP type
IB/mlx5: Handle type IB_QPT_DRIVER when creating a QP
IB/mlx5: Add support for DC Initiator QP
IB/mlx5: Add support for DC target QP
Mustafa Ismail (3):
i40iw: Reinitialize add_sd_cnt
i40iw: Remove setting of rem_addr.len
i40iw: Free IEQ resources
Parav Pandit (44):
IB/{core/cm}: Fix generating a return AH for RoCEE
IB/core: Depend on IPv6 stack to resolve link local address for RoCEv2
IB/core: Avoid exporting module internal function
RDMA/cma: Use correct size when writing netlink stats
RDMA/cma: Set default GID type as RoCE when resolving RoCE route
RDMA/cma: Simplify netdev check
RDMA/cma: Avoid setting path record type twice
RDMA/cma: Introduce and use helper functions to init work
IB/core: Avoid unnecessary type cast
IB/core: Refactor to avoid unnecessary check on GID lookup miss
IB/rxe: Avoid passing unused index pointer which is optional
IB/core: Avoid exporting module internal ib_find_gid_by_filter()
RDMA/core: Avoid redundant memcpy in rdma_addr_find_l2_eth_by_grh
IB/core: Removed unused function
RDMA/{core, cma}: Simplify rdma_translate_ip
RDMA/core: Avoid copying ifindex twice
IB/{core, ipoib}: Simplify ib_find_gid to search only for IB link layer
IB/{cm, umad}: Handle av init error
IB/cm: Handle address handle attribute init error
IB/cm: Fix sleeping while spin lock is held
IB/{core, cm, cma, ipoib}: Rename ib_init_ah_from_path to ib_init_ah_attr_from_path
IB/{core, umad, cm}: Rename ib_init_ah_from_wc to ib_init_ah_attr_from_wc
IB/cm: Refactor to avoid setting path record software only fields
IB/mlx5: Change debugfs to have per port contents
RDMA/cma: Use the right net namespace for the rdma_cm_id
RDMA/cma: Provide a function to set RoCE path record L2 parameters
RDMA/{cma, ucma}: Simplify and rename rdma_set_ib_paths
RDMA/cma: Fix rdma_cm raw IB path setting for RoCE
RDMA/cma: Fix rdma_cm path querying for RoCE
IB/core: Perform modify QP on real one
IB/core: Limit DMAC resolution to userspace QPs
IB/core: Attempt DMAC resolution for only RoCE
IB/core: Limit DMAC resolution to RoCE Connected QPs
RDMA/core: Clarify rdma_ah_find_type
RDMA/cma: Introduce API to read GIDs for multiple transports
RDMA/ucma: Use rdma cm API to query GID
net/rds: Use rdma_read_gids to read connection GIDs
RDMA/core: Simplify rdma_addr_get_sgid() to not support RoCE
RDMA/cma: Check existence of netdevice during port validation
RDMA/cma: Refactor to access multiple fields of rdma_dev_addr
RDMA/cma: Update cma_validate_port to honor net namespace
RDMA/cma: Update RoCE multicast routines to use net namespace
IB/core: Avoid SGID attributes query while converting GID from OPA to IB
RDMA/cma: Use existing netif_is_bond_master function
Pravin Shedge (1):
drivers: infiniband: remove duplicate includes
Randy Dunlap (5):
infiniband: drop unknown function from core_priv.h
infiniband: fix core/verbs.c kernel-doc notation
infiniband: fix core/fmr_pool.c kernel-doc notation
infiniband: fix ulp/opa_vnic/opa_vnic_vema.c kernel-doc notation
infiniband: fix sw/rdmavt/* kernel-doc notation
Sagi Grimberg (1):
IB/cq: Don't force IB_POLL_DIRECT poll context for ib_process_cq_direct
Sebastian Sanchez (1):
IB/hfi1: Fix infinite loop in 8051 command error path
Selvin Xavier (3):
RDMA/bnxt_re: Enable RoCE on virtual functions
RDMA/bnxt_re: Add support for query firmware version
RDMA/bnxt_re: expose detailed stats retrieved from HW
Shiraz Saleem (10):
nes: Change accelerated flag to bool
i40iw: Set MAX_IRD_SIZE to 64
i40iw: Use utility function roundup_pow_of_two()
i40iw: Correct Q1/XF object count equation
i40iw: Add notifier for network device events
i40iw: Selectively teardown QPs on IP addr change event
i40iw: Fix sequence number for the first partial FPDU
i40iw: Ignore LLP_DOUBT_REACHABILITY AE
i40iw: Remove extra call to i40iw_est_sd()
i40iw: Zero-out consumer key on allocate stag for FMR
Sindhu Devale (1):
i40iw: Remove limit on re-posting AEQ entries to HW
Somnath Kotur (1):
RDMA/bnxt_re: Add support for MRs with Huge pages
Tatyana Nikolova (2):
i40iw: Validate correct IRD/ORD connection parameters
i40iw: Fix the connection ORD value for loopback
Venkata Sandeep Dhanalakota (1):
IB/SA: Check dlid before SA agent queries for ClassPortInfo
Xiongfeng Wang (1):
IB/cma: use strlcpy() instead of strncpy()
Yishai Hadas (3):
IB/mlx5: Extend UAR stuff to support dynamic allocation
IB/mlx5: Expose dynamic mmap allocation
IB/mlx5: Enable QP creation with a given blue flame index
Yixian Liu (4):
RDMA/hns: Refactor eq code for hip06
RDMA/hns: Add eq support of hip08
RDMA/hns: Add detailed comments for mb() call
RDMA/hns: Fix QP state judgement before sending work requests
Yuval Shaia (3):
RDMA/vmw_pvrdma: Do not re-calculate npages
IB/ipoib: Replace printk with pr_warn
IB/ipoib: Warn when one port fails to initialize
Zhu Yanjun (2):
IB/rxe: add the static type to the variable
IB/rxe: remove unnecessary skb_clone in xmit
oulijun (12):
RDMA/hns: Add rq inline data support for hip08 RoCE
RDMA/hns: Update the usage of sr_max and rr_max field
RDMA/hns: Set access flags of hip08 RoCE
RDMA/hns: Filter for zero length of sge in hip08 kernel mode
RDMA/hns: Assign dest_qp when deregistering mr
RDMA/hns: Assign the correct value for tx_cqn
RDMA/hns: Create gsi qp in hip08
RDMA/hns: Add gsi qp support for modifying qp in hip08
RDMA/hns: Fill sq wqe context of ud type in hip08
RDMA/hns: Assign zero for pkey_index of wc in hip08
RDMA/hns: Update the verbs of polling for completion
RDMA/hns: Set the guid for hip08 RoCE device
weiyongjun (A) (1):
RDMA/hns: Remove unnecessary platform_get_resource() error check
MAINTAINERS | 7 +-
drivers/infiniband/core/Makefile | 2 +-
drivers/infiniband/core/addr.c | 65 +-
drivers/infiniband/core/cache.c | 23 +-
drivers/infiniband/core/cm.c | 227 ++-
drivers/infiniband/core/cma.c | 252 ++-
drivers/infiniband/core/cma_configfs.c | 2 +-
drivers/infiniband/core/core_priv.h | 52 +-
drivers/infiniband/core/cq.c | 39 +-
drivers/infiniband/core/device.c | 42 +-
drivers/infiniband/core/fmr_pool.c | 12 +-
drivers/infiniband/core/iwpm_util.c | 1 +
drivers/infiniband/core/mad.c | 1 -
drivers/infiniband/core/netlink.c | 10 +-
drivers/infiniband/core/nldev.c | 394 ++++-
drivers/infiniband/core/restrack.c | 164 ++
drivers/infiniband/core/roce_gid_mgmt.c | 13 +-
drivers/infiniband/core/sa_query.c | 18 +-
drivers/infiniband/core/security.c | 10 +-
drivers/infiniband/core/sysfs.c | 1 -
drivers/infiniband/core/ucm.c | 73 +-
drivers/infiniband/core/ucma.c | 19 +-
drivers/infiniband/core/umem.c | 2 +-
drivers/infiniband/core/user_mad.c | 123 +-
drivers/infiniband/core/uverbs_cmd.c | 14 +-
drivers/infiniband/core/uverbs_ioctl.c | 19 +-
drivers/infiniband/core/uverbs_main.c | 95 +-
drivers/infiniband/core/uverbs_std_types.c | 3 +
drivers/infiniband/core/verbs.c | 312 ++--
drivers/infiniband/hw/bnxt_re/bnxt_re.h | 43 +-
drivers/infiniband/hw/bnxt_re/hw_counters.c | 145 +-
drivers/infiniband/hw/bnxt_re/hw_counters.h | 39 +
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 404 ++++-
drivers/infiniband/hw/bnxt_re/ib_verbs.h | 20 +
drivers/infiniband/hw/bnxt_re/main.c | 251 ++-
drivers/infiniband/hw/bnxt_re/qplib_fp.c | 463 ++++-
drivers/infiniband/hw/bnxt_re/qplib_fp.h | 78 +-
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 5 +-
drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 7 +-
drivers/infiniband/hw/bnxt_re/qplib_res.c | 9 +-
drivers/infiniband/hw/bnxt_re/qplib_sp.c | 141 +-
drivers/infiniband/hw/bnxt_re/qplib_sp.h | 91 +-
drivers/infiniband/hw/bnxt_re/roce_hsi.h | 127 +-
drivers/infiniband/hw/cxgb4/cm.c | 27 +-
drivers/infiniband/hw/cxgb4/device.c | 36 +-
drivers/infiniband/hw/cxgb4/ev.c | 2 +-
drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 4 +-
drivers/infiniband/hw/cxgb4/qp.c | 6 +-
drivers/infiniband/hw/cxgb4/t4.h | 4 +-
drivers/infiniband/hw/hfi1/chip.c | 87 +-
drivers/infiniband/hw/hfi1/chip.h | 2 +-
drivers/infiniband/hw/hfi1/driver.c | 16 -
drivers/infiniband/hw/hfi1/firmware.c | 64 +-
drivers/infiniband/hw/hfi1/hfi.h | 25 +-
drivers/infiniband/hw/hfi1/init.c | 2 +
drivers/infiniband/hw/hfi1/mad.c | 6 +-
drivers/infiniband/hw/hfi1/qp.c | 10 +-
drivers/infiniband/hw/hfi1/rc.c | 8 +-
drivers/infiniband/hw/hfi1/verbs.c | 6 +-
drivers/infiniband/hw/hns/Makefile | 2 +-
drivers/infiniband/hw/hns/hns_roce_cmd.c | 1 +
drivers/infiniband/hw/hns/hns_roce_cmd.h | 10 +
drivers/infiniband/hw/hns/hns_roce_common.h | 11 +
drivers/infiniband/hw/hns/hns_roce_cq.c | 19 +-
drivers/infiniband/hw/hns/hns_roce_device.h | 103 +-
drivers/infiniband/hw/hns/hns_roce_eq.c | 759 --------
drivers/infiniband/hw/hns/hns_roce_eq.h | 134 --
drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 758 +++++++-
drivers/infiniband/hw/hns/hns_roce_hw_v1.h | 44 +-
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 1837 ++++++++++++++++++--
drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 283 ++-
drivers/infiniband/hw/hns/hns_roce_main.c | 16 +-
drivers/infiniband/hw/hns/hns_roce_qp.c | 72 +-
drivers/infiniband/hw/i40iw/Kconfig | 1 -
drivers/infiniband/hw/i40iw/i40iw.h | 3 +
drivers/infiniband/hw/i40iw/i40iw_cm.c | 68 +-
drivers/infiniband/hw/i40iw/i40iw_cm.h | 8 +-
drivers/infiniband/hw/i40iw/i40iw_ctrl.c | 25 +-
drivers/infiniband/hw/i40iw/i40iw_d.h | 1 +
drivers/infiniband/hw/i40iw/i40iw_hw.c | 3 +-
drivers/infiniband/hw/i40iw/i40iw_main.c | 13 +-
drivers/infiniband/hw/i40iw/i40iw_puda.c | 5 +-
drivers/infiniband/hw/i40iw/i40iw_puda.h | 1 +
drivers/infiniband/hw/i40iw/i40iw_uk.c | 18 +-
drivers/infiniband/hw/i40iw/i40iw_user.h | 3 +-
drivers/infiniband/hw/i40iw/i40iw_utils.c | 50 +-
drivers/infiniband/hw/i40iw/i40iw_verbs.c | 5 +-
drivers/infiniband/hw/mlx4/cq.c | 4 +-
drivers/infiniband/hw/mlx4/main.c | 19 +-
drivers/infiniband/hw/mlx4/qp.c | 20 +-
drivers/infiniband/hw/mlx5/cong.c | 83 +-
drivers/infiniband/hw/mlx5/cq.c | 2 +-
drivers/infiniband/hw/mlx5/mad.c | 23 +-
drivers/infiniband/hw/mlx5/main.c | 1411 +++++++++++----
drivers/infiniband/hw/mlx5/mlx5_ib.h | 111 +-
drivers/infiniband/hw/mlx5/mr.c | 3 +
drivers/infiniband/hw/mlx5/odp.c | 9 -
drivers/infiniband/hw/mlx5/qp.c | 432 ++++-
drivers/infiniband/hw/mthca/mthca_memfree.c | 7 +-
drivers/infiniband/hw/mthca/mthca_user.h | 112 --
drivers/infiniband/hw/nes/nes_cm.c | 2 +-
drivers/infiniband/hw/nes/nes_cm.h | 3 +-
drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 19 +-
drivers/infiniband/hw/ocrdma/ocrdma_stats.c | 8 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 10 +-
drivers/infiniband/hw/qedr/verbs.c | 15 +-
drivers/infiniband/hw/qib/qib.h | 8 +-
drivers/infiniband/hw/qib/qib_driver.c | 16 -
drivers/infiniband/hw/qib/qib_eeprom.c | 3 +-
drivers/infiniband/hw/qib/qib_file_ops.c | 68 +-
drivers/infiniband/hw/qib/qib_init.c | 2 +
drivers/infiniband/hw/qib/qib_keys.c | 235 ---
drivers/infiniband/hw/qib/qib_rc.c | 6 +-
drivers/infiniband/hw/qib/qib_verbs.c | 2 -
drivers/infiniband/hw/usnic/usnic_ib_sysfs.c | 1 -
drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 1 -
drivers/infiniband/hw/vmw_pvrdma/pvrdma.h | 4 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 13 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 21 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c | 15 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 11 +-
drivers/infiniband/sw/rdmavt/cq.c | 15 +-
drivers/infiniband/sw/rdmavt/mcast.c | 4 +-
drivers/infiniband/sw/rdmavt/mr.c | 2 +-
drivers/infiniband/sw/rdmavt/qp.c | 27 +-
drivers/infiniband/sw/rdmavt/srq.c | 16 +-
drivers/infiniband/sw/rdmavt/trace.h | 4 +-
drivers/infiniband/sw/rdmavt/trace_qp.h | 42 +
drivers/infiniband/sw/rdmavt/vt.c | 10 +-
drivers/infiniband/sw/rdmavt/vt.h | 6 +-
drivers/infiniband/sw/rxe/Kconfig | 4 +-
drivers/infiniband/sw/rxe/rxe.c | 6 -
drivers/infiniband/sw/rxe/rxe.h | 6 +-
drivers/infiniband/sw/rxe/rxe_loc.h | 1 -
drivers/infiniband/sw/rxe/rxe_net.c | 18 +-
drivers/infiniband/sw/rxe/rxe_net.h | 1 -
drivers/infiniband/sw/rxe/rxe_qp.c | 12 +-
drivers/infiniband/sw/rxe/rxe_recv.c | 3 +-
drivers/infiniband/sw/rxe/rxe_req.c | 9 +-
drivers/infiniband/sw/rxe/rxe_resp.c | 5 +-
drivers/infiniband/sw/rxe/rxe_verbs.c | 2 +
drivers/infiniband/sw/rxe/rxe_verbs.h | 3 +
drivers/infiniband/ulp/ipoib/ipoib_cm.c | 18 +-
drivers/infiniband/ulp/ipoib/ipoib_ib.c | 5 +-
drivers/infiniband/ulp/ipoib/ipoib_main.c | 98 +-
drivers/infiniband/ulp/ipoib/ipoib_verbs.c | 6 +-
drivers/infiniband/ulp/iser/iser_initiator.c | 16 +-
drivers/infiniband/ulp/isert/ib_isert.c | 7 +
drivers/infiniband/ulp/isert/ib_isert.h | 1 +
drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c | 2 +-
drivers/infiniband/ulp/srp/ib_srp.c | 795 +++++++--
drivers/infiniband/ulp/srp/ib_srp.h | 43 +-
drivers/infiniband/ulp/srpt/ib_srpt.c | 962 ++++++----
drivers/infiniband/ulp/srpt/ib_srpt.h | 100 +-
drivers/net/ethernet/mellanox/mlx4/qp.c | 3 +
drivers/net/ethernet/mellanox/mlx5/core/eq.c | 9 +-
.../net/ethernet/mellanox/mlx5/core/fpga/conn.c | 11 +-
drivers/net/ethernet/mellanox/mlx5/core/fw.c | 10 +-
.../net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c | 2 +-
.../net/ethernet/mellanox/mlx5/core/lib/clock.c | 55 +
drivers/net/ethernet/mellanox/mlx5/core/lib/gid.c | 5 +-
drivers/net/ethernet/mellanox/mlx5/core/main.c | 15 +-
.../net/ethernet/mellanox/mlx5/core/mlx5_core.h | 2 +-
drivers/net/ethernet/mellanox/mlx5/core/qp.c | 125 +-
drivers/net/ethernet/mellanox/mlx5/core/vport.c | 91 +-
include/linux/mlx5/device.h | 16 +
include/linux/mlx5/driver.h | 43 +-
include/linux/mlx5/mlx5_ifc.h | 32 +-
include/linux/mlx5/qp.h | 12 +
include/linux/mlx5/vport.h | 4 +
include/rdma/ib_addr.h | 38 +-
include/rdma/ib_sa.h | 10 +-
include/rdma/ib_verbs.h | 64 +-
include/rdma/opa_addr.h | 16 +
include/rdma/rdma_cm.h | 19 +
include/rdma/rdma_cm_ib.h | 8 +-
include/rdma/rdma_vt.h | 31 +-
include/rdma/restrack.h | 157 ++
include/scsi/srp.h | 17 +
include/uapi/rdma/bnxt_re-abi.h | 9 +
include/uapi/rdma/ib_user_verbs.h | 11 +-
include/uapi/rdma/mlx4-abi.h | 7 +-
include/uapi/rdma/mlx5-abi.h | 53 +-
include/uapi/rdma/rdma_netlink.h | 49 +
include/uapi/rdma/vmw_pvrdma-abi.h | 12 +-
lib/kobject.c | 2 +
net/rds/ib.c | 6 +-
187 files changed, 10240 insertions(+), 4028 deletions(-)
create mode 100644 drivers/infiniband/core/restrack.c
delete mode 100644 drivers/infiniband/hw/hns/hns_roce_eq.c
delete mode 100644 drivers/infiniband/hw/hns/hns_roce_eq.h
delete mode 100644 drivers/infiniband/hw/mthca/mthca_user.h
delete mode 100644 drivers/infiniband/hw/qib/qib_keys.c
create mode 100644 include/rdma/restrack.h
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2017-12-28 21:03 Jason Gunthorpe
0 siblings, 0 replies; 149+ messages in thread
From: Jason Gunthorpe @ 2017-12-28 21:03 UTC (permalink / raw)
To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA
Hi Linus,
This is the next batch of for-rc patches from RDMA. It includes the
fix for the ipoib regression I mentioned last time, and the result of
a fairly major debugging effort to get iser working reliably on cxgb4
hardware - it turns out the cxgb4 driver was not handling QP error
flushing properly causing iser to fail.
I was on the fence for the LAG counters bug fix at rc6. In the end
this appears to be a user space API issue, as data exposed to user
space is not correct under certain device configurations. I also
expect this patch will go to -stable.
The following changes since commit 9d98e19ba08f6aa33a4a1414f3dfe8440e67530c:
IB/ipoib: Restore MM behavior in case of tx_ring allocation failure (2017-12-13 10:31:57 -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 45e6ae7ef21b907dacb18da62d5787d74a31d860:
IB/mlx5: Fix mlx5_ib_alloc_mr error flow (2017-12-27 15:24:41 -0700)
----------------------------------------------------------------
Third pull request for 4.15-rc
- cxgb4 fix for an iser testing failure as debugged by Steve and Sagi.
The problem was a driver bug in the handling of shutting down a QP.
- Various vmw_pvrdma fixes for bogus WARN_ON, missed resource free on error
unwind and a use after free bug
- Improper congestion counter values on mlx5 when link aggregation is enabled
- ipoib lockdep regression introduced in this merge window
- hfi1 regression supporting the device in a VM introduced in a recent patch
- Typo that breaks future uAPI compatibility in the verbs core
- More SELinux related oops fixing
- Fix an oops during error unwind in mlx5
----------------------------------------------------------------
Alex Vesker (1):
IB/ipoib: Fix lockdep issue found on ipoib_ib_dev_heavy_flush
Bryan Tan (3):
RDMA/vmw_pvrdma: Call ib_umem_release on destroy QP path
RDMA/vmw_pvrdma: Use refcount_dec_and_test to avoid warning
RDMA/vmw_pvrdma: Avoid use after free due to QP/CQ/SRQ destroy
Majd Dibbiny (2):
IB/mlx5: Fix congestion counters in LAG mode
IB/mlx5: Serialize access to the VMA list
Michael J. Ruhl (1):
IB/hfi: Only read capability registers if the capability exists
Moni Shoua (2):
IB/uverbs: Fix command checking as part of ib_uverbs_ex_modify_qp()
IB/core: Verify that QP is security enabled in create and destroy
Nitzan Carmi (1):
IB/mlx5: Fix mlx5_ib_alloc_mr error flow
Steve Wise (3):
iw_cxgb4: Only validate the MSN for successful completions
iw_cxgb4: reflect the original WR opcode in drain cqes
iw_cxgb4: when flushing, complete all wrs in a chain
drivers/infiniband/core/security.c | 3 ++
drivers/infiniband/core/uverbs_cmd.c | 4 +-
drivers/infiniband/core/verbs.c | 3 +-
drivers/infiniband/hw/cxgb4/cq.c | 13 ++---
drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 2 -
drivers/infiniband/hw/cxgb4/qp.c | 72 ++++++++++++++++++++++++--
drivers/infiniband/hw/cxgb4/t4.h | 6 +++
drivers/infiniband/hw/hfi1/hfi.h | 1 -
drivers/infiniband/hw/hfi1/pcie.c | 30 +++++------
drivers/infiniband/hw/mlx5/cmd.c | 11 ----
drivers/infiniband/hw/mlx5/cmd.h | 2 -
drivers/infiniband/hw/mlx5/main.c | 43 +++++----------
drivers/infiniband/hw/mlx5/mlx5_ib.h | 4 ++
drivers/infiniband/hw/mlx5/mr.c | 1 +
drivers/infiniband/hw/vmw_pvrdma/pvrdma.h | 6 +--
drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 7 +--
drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 17 +++---
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 14 +++--
drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c | 7 +--
drivers/infiniband/ulp/ipoib/ipoib_ib.c | 7 ++-
drivers/net/ethernet/mellanox/mlx5/core/lag.c | 56 ++++++++++++++++++++
include/linux/mlx5/driver.h | 4 ++
22 files changed, 208 insertions(+), 105 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 149+ messages in thread
* [GIT PULL] Please pull RDMA subsystem changes
@ 2017-12-16 17:12 Jason Gunthorpe
0 siblings, 0 replies; 149+ messages in thread
From: Jason Gunthorpe @ 2017-12-16 17:12 UTC (permalink / raw)
To: Linux Torvalds, Doug Ledford; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA
[-- Attachment #1: Type: text/plain, Size: 2530 bytes --]
Hi Linus,
More fixes from testing done on the rc kernel, including more SELinux testing.
Looking forward, lockdep found regression today in ipoib which is still
being fixed.
The following changes since commit 315d160c5a4e034a576a13aa21e7235d5c9ec609:
IB/core: Only enforce security for InfiniBand (2017-12-01 12:21:28 -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 9d98e19ba08f6aa33a4a1414f3dfe8440e67530c:
IB/ipoib: Restore MM behavior in case of tx_ring allocation failure (2017-12-13 10:31:57 -0700)
----------------------------------------------------------------
Second pull request for 4.15-rc
- Fix for SELinux on the umad SMI path. Some old hardware
does not fill the PKey properly exposing another bug in the newer
SELinux code.
- Check the input port as we can exceed array bounds from this
user supplied value
- Users are unable to use the hash field support as they want due to
incorrect checks on the field restrictions, correct that so the
feature works as intended
- User triggerable oops in the NETLINK_RDMA handler
- cxgb4 driver fix for a bad interaction with CQ flushing in iser
caused by patches in this merge window, and bad CQ flushing during
normal close.
- Unbalanced memalloc_noio in ipoib in an error path.
----------------------------------------------------------------
Daniel Jurgens (2):
IB/core: Bound check alternate path port number
IB/core: Don't enforce PKey security on SMI MADs
Guy Levi (1):
IB/mlx4: Fix RSS hash fields restrictions
Leon Romanovsky (1):
RDMA/netlink: Fix general protection fault
Steve Wise (2):
iw_cxgb4: only clear the ARMED bit if a notification is needed
iw_cxgb4: only insert drain cqes if wq is flushed
Yuval Shaia (1):
IB/ipoib: Restore MM behavior in case of tx_ring allocation failure
drivers/infiniband/core/cma.c | 2 +-
drivers/infiniband/core/device.c | 2 +-
drivers/infiniband/core/iwcm.c | 2 +-
drivers/infiniband/core/nldev.c | 2 +-
drivers/infiniband/core/security.c | 7 +++++--
drivers/infiniband/core/uverbs_cmd.c | 6 ++++++
drivers/infiniband/hw/cxgb4/cq.c | 5 +++++
drivers/infiniband/hw/cxgb4/qp.c | 22 ++++++++++++++++------
drivers/infiniband/hw/mlx4/qp.c | 26 +++++++++++++++++++-------
drivers/infiniband/ulp/ipoib/ipoib_cm.c | 1 +
10 files changed, 56 insertions(+), 19 deletions(-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 149+ messages in thread
end of thread, back to index
Thread overview: 149+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-15 21:32 [GIT PULL] Please pull RDMA subsystem changes Jason Gunthorpe
2020-02-16 1:20 ` pr-tracker-bot
-- strict thread matches above, loose matches on Subject: below --
2021-04-08 19:51 Jason Gunthorpe
2021-04-08 23:40 ` pr-tracker-bot
2021-03-25 18:04 Jason Gunthorpe
2021-03-25 19:13 ` pr-tracker-bot
2021-03-05 23:35 Jason Gunthorpe
2021-03-06 1:35 ` pr-tracker-bot
2021-02-22 14:59 Jason Gunthorpe
2021-02-22 18:37 ` pr-tracker-bot
2021-01-28 14:46 Jason Gunthorpe
2021-01-15 19:21 Jason Gunthorpe
2021-01-15 23:35 ` pr-tracker-bot
2020-12-16 17:57 Jason Gunthorpe
2020-12-16 21:51 ` pr-tracker-bot
2020-12-10 15:50 Jason Gunthorpe
2020-12-10 19:11 ` pr-tracker-bot
2020-11-27 14:00 Jason Gunthorpe
2020-11-27 21:21 ` pr-tracker-bot
2020-11-19 19:29 Jason Gunthorpe
2020-11-19 23:00 ` pr-tracker-bot
2020-11-05 18:16 Jason Gunthorpe
2020-11-05 20:21 ` pr-tracker-bot
2020-10-29 18:41 Jason Gunthorpe
2020-10-29 18:53 ` Linus Torvalds
2020-10-29 19:00 ` pr-tracker-bot
2020-10-16 18:51 Jason Gunthorpe
2020-10-17 18:21 ` Linus Torvalds
2020-10-17 18:42 ` Jason Gunthorpe
2020-10-17 18:22 ` pr-tracker-bot
2020-09-25 12:57 Jason Gunthorpe
2020-09-25 17:48 ` pr-tracker-bot
2020-09-10 23:38 Jason Gunthorpe
2020-09-11 18:37 ` pr-tracker-bot
2020-08-21 14:06 Jason Gunthorpe
2020-08-21 17:16 ` pr-tracker-bot
2020-08-06 18:27 Jason Gunthorpe
2020-08-07 1:55 ` pr-tracker-bot
2020-07-31 15:17 Jason Gunthorpe
2020-07-31 16:45 ` pr-tracker-bot
2020-07-24 17:47 Jason Gunthorpe
2020-07-24 21:40 ` pr-tracker-bot
2020-07-10 17:58 Jason Gunthorpe
2020-07-10 22:10 ` pr-tracker-bot
2020-06-25 17:56 Jason Gunthorpe
2020-06-25 20:15 ` pr-tracker-bot
2020-06-04 19:51 Jason Gunthorpe
2020-06-05 21:15 ` pr-tracker-bot
2020-05-29 14:15 Jason Gunthorpe
2020-05-29 21:10 ` pr-tracker-bot
2020-05-15 19:13 Jason Gunthorpe
2020-05-15 20:15 ` pr-tracker-bot
2020-04-28 19:59 Jason Gunthorpe
2020-04-28 20:40 ` pr-tracker-bot
2020-04-01 23:01 Jason Gunthorpe
2020-04-02 2:05 ` pr-tracker-bot
2020-03-26 17:31 Jason Gunthorpe
2020-03-26 17:50 ` pr-tracker-bot
2020-03-08 0:07 Jason Gunthorpe
2020-03-08 2:00 ` pr-tracker-bot
2020-01-31 15:16 Jason Gunthorpe
2020-01-31 23:10 ` pr-tracker-bot
2020-01-10 2:16 Jason Gunthorpe
2020-01-11 14:45 ` pr-tracker-bot
2019-11-27 0:24 Jason Gunthorpe
2019-11-27 18:19 ` Linus Torvalds
2019-11-27 19:23 ` Jason Gunthorpe
2019-11-27 18:45 ` pr-tracker-bot
2019-11-14 15:16 Jason Gunthorpe
2019-11-14 16:55 ` pr-tracker-bot
2019-10-31 18:22 Jason Gunthorpe
2019-11-01 17:10 ` pr-tracker-bot
2019-10-09 14:28 Jason Gunthorpe
2019-10-09 19:30 ` pr-tracker-bot
2019-09-19 16:34 Jason Gunthorpe
2019-09-21 17:40 ` pr-tracker-bot
2019-07-30 12:15 Jason Gunthorpe
2019-07-30 20:40 ` pr-tracker-bot
2019-07-15 15:26 Jason Gunthorpe
2019-07-16 4:35 ` pr-tracker-bot
2019-06-06 20:14 Jason Gunthorpe
2019-06-07 16:45 ` pr-tracker-bot
2019-05-15 0:46 Jason Gunthorpe
2019-05-15 4:05 ` pr-tracker-bot
2019-05-09 13:37 Jason Gunthorpe
2019-05-09 16:25 ` pr-tracker-bot
2019-04-28 11:52 Jason Gunthorpe
2019-04-28 16:59 ` Linus Torvalds
2019-04-28 23:49 ` Jason Gunthorpe
2019-04-29 0:09 ` Linus Torvalds
2019-04-30 12:53 ` Jason Gunthorpe
2019-04-28 18:05 ` pr-tracker-bot
2019-04-29 6:09 ` Heiko Carstens
2019-04-29 8:40 ` Jason Gunthorpe
2019-04-29 9:00 ` Michal Kubecek
2019-04-29 9:19 ` Leon Romanovsky
2019-04-29 15:42 ` Doug Ledford
2019-04-29 16:29 ` Doug Ledford
2019-04-10 18:46 Jason Gunthorpe
2019-04-10 19:55 ` pr-tracker-bot
2019-03-18 1:04 Jason Gunthorpe
2019-03-19 18:15 ` pr-tracker-bot
2019-03-07 1:34 Jason Gunthorpe
2019-03-10 1:40 ` pr-tracker-bot
2019-02-21 23:07 Jason Gunthorpe
2019-02-22 18:40 ` pr-tracker-bot
2019-02-01 17:41 Jason Gunthorpe
2019-02-01 18:45 ` pr-tracker-bot
2019-01-18 3:56 Jason Gunthorpe
2019-01-18 5:35 ` pr-tracker-bot
2019-01-04 5:00 Jason Gunthorpe
2019-01-06 2:40 ` pr-tracker-bot
2018-12-24 22:16 Jason Gunthorpe
2018-12-29 1:30 ` pr-tracker-bot
2018-11-29 22:52 Jason Gunthorpe
2018-10-25 21:21 Jason Gunthorpe
2018-10-26 14:50 ` Linus Torvalds
2018-09-27 18:24 Jason Gunthorpe
2018-09-27 20:17 ` Greg Kroah-Hartman
2018-09-10 23:04 Jason Gunthorpe
2018-08-22 21:44 Jason Gunthorpe
2018-08-16 21:57 Jason Gunthorpe
2018-08-17 19:31 ` Linus Torvalds
2018-08-17 19:44 ` Linus Torvalds
2018-08-17 20:50 ` Linus Torvalds
2018-08-17 21:16 ` Jason Gunthorpe
2018-08-17 23:56 ` Linus Torvalds
2018-08-17 20:15 ` Jason Gunthorpe
2018-08-17 20:27 ` Linus Torvalds
2018-08-17 21:27 ` Jason Gunthorpe
2018-08-03 16:11 Jason Gunthorpe
2018-07-13 17:13 Jason Gunthorpe
2018-06-20 21:00 Jason Gunthorpe
2018-06-06 21:42 Jason Gunthorpe
2018-06-01 16:47 Jason Gunthorpe
2018-05-24 20:51 Jason Gunthorpe
2018-04-06 16:05 Jason Gunthorpe
2018-05-16 17:39 ` Eugene Syromiatnikov
2018-05-16 17:49 ` Jason Gunthorpe
2018-05-16 18:01 ` Eugene Syromiatnikov
2018-03-29 19:17 Jason Gunthorpe
2018-03-20 23:17 Jason Gunthorpe
2018-01-31 17:47 Jason Gunthorpe
[not found] ` <20180131174735.GA18568-uk2M96/98Pc@public.gmane.org>
2018-01-31 20:11 ` Linus Torvalds
[not found] ` <CA+55aFxmnW-iu1Na3QC8Ci8Q_Qdfn2Ak_9wDB6+A564R=Xn9Ag-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-01-31 21:04 ` Jason Gunthorpe
[not found] ` <20180131210457.GE23352-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2018-02-01 19:12 ` Linus Torvalds
[not found] ` <CA+55aFxySLoCHcmZgx2PiF6jEazVOSy=2idccRsWqOzmyK2gaw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-01 20:33 ` Jason Gunthorpe
2017-12-28 21:03 Jason Gunthorpe
2017-12-16 17:12 Jason Gunthorpe
Linux-RDMA Archive on lore.kernel.org
Archives are clonable:
git clone --mirror https://lore.kernel.org/linux-rdma/0 linux-rdma/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 linux-rdma linux-rdma/ https://lore.kernel.org/linux-rdma \
linux-rdma@vger.kernel.org
public-inbox-index linux-rdma
Example config snippet for mirrors
Newsgroup available over NNTP:
nntp://nntp.lore.kernel.org/org.kernel.vger.linux-rdma
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git