[GIT PULL] Please pull RDMA subsystem changes
From: Jason Gunthorpe
Date: Wed Mar 06 2019 - 20:34:49 EST
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:
signature.asc
Description: PGP signature