[PULL REQUEST] Please pull rdma.git
From: Doug Ledford <hidden>
Date: 2016-08-04 16:21:45
Hi Linus,
As we discussed offline, I've split this pull request into two parts
because of the need for different merge bases. This first section is
the code that is based on the older 4.7-rc4 base. While the pull
request is mostly normal, there is a new driver in here (the driver was
hosted outside the kernel for several years and is actually a fairly
mature and well coded driver). It amounts to 13,000 of the 16,000
lines of added code in this pull request.
There should be one merge conflict in core/cma.c. You can use the hunk
from my tree in its entirety and delete the common ancestor and your
HEAD chunks.
This pull request is on my k.o/for-4.8-1 branch and uses the signed tag
for-linus.
Here's the boilerplate:
The following changes since commit
33688abb2802ff3a230bd2441f765477b94cc89e:
Linux 4.7-rc4 (2016-06-19 21:30:02 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma.git
tags/for-linus
for you to fetch changes up to
7f1d25b47d919cef29388aff37e7b074e65bf512:
Merge branches 'misc' and 'rxe' into k.o/for-4.8-1 (2016-08-04
11:13:47 -0400)
----------------------------------------------------------------
Round one of 4.8 code
- Updates/fixes for iw_cxgb4 driver
- Updates/fixes for mlx5 driver
- Add flow steering and RSS API
- Add hardware stats to mlx4 and mlx5 drivers
- Add firmware version API for RDMA driver use
- Add the rxe driver (this is a software RoCE driver that makes any
Ethernet device a RoCE device)
- Fixes for i40iw driver
- Support for send only multicast joins in the cma layer
- Other minor fixes
----------------------------------------------------------------
Alex Vesker (3):
IB/mlx5: Fix port counter ID association to QP offset
IB/sa: Add cached attribute containing SM information to SA port
IB/core: Support for CMA multicast join flags
Amitoj Kaur Chawla (1):
RDMA/cxgb3: Use AF_INET for sin_family field
Artemy Kovalyov (2):
IB/mlx5: Fix MODIFY_QP command input structure
{net, IB}/mlx5: Refactor internal SRQ API
Bart Van Assche (2):
IB/rdmavt: Disable by default
IB/hfi1: Disable by default
Bodong Wang (1):
IB/mlx5: Report mlx5 TSO capabilities when querying device
Doug Ledford (5):
Merge tag 'shared' of http://git.kernel.org/.../leon/linux-rdma
into mlx5-4.8
Merge branches 'cxgb4-4.8', 'mlx5-4.8' and 'fw-version' into
k.o/for-4.8
Merge branches 'cxgb4' and 'mlx5' into k.o/for-4.8
Merge branch 'i40iw' into k.o/for-4.8
Merge branches 'misc' and 'rxe' into k.o/for-4.8-1
Hariprasad S (8):
RDMA/iw_cxgb4: only read markers_enabled mod param once
RDMA/iw_cxgb4: allocate enough space for debugfs "qps" dump
RDMA/iw_cxgb4: clean up c4iw_reject_cr()
RDMA/iw_cxgb4: Add missing error codes for act open cmd
RDMA/iw_cxgb4: Low resource fixes for connection manager
RDMA/iw_cxgb4: Low resource fixes for Memory registration
RDMA/iw_cxgb4: Low resource fixes for Completion queue
RDMA/iw_cxgb4: Use kfree_skb instead of kfree
Ira Weiny (13):
IB/core: Add get FW version string to the core
IB/cxgb3: Support device FW version string
IB/cxgb4: Support device FW version string
IB/i40iw: Support device FW version string
IB/mlx4: Support device FW version string
IB/mlx5: Support device FW version string
IB/mthca: Supprot device FW version string
IB/nes: Support device FW version string
IB/ocrdma: Support device FW version string
IB/usnic: Support device FW version string
IB/ipoib: Use new device FW version string
IB/core: Export a common fw_ver sysfs entry
IB/hfi1: Add device FW version string
Jason Gunthorpe (1):
IB/uverbs: Fix race between uverbs_close and remove_one
Maor Gottlieb (4):
IB/mlx5: Implements disassociate_ucontext API
IB/mlx5: Reset flow support for IB kernel ULPs
IB/core: Add IPv6 support to flow steering
IB/mlx5: Enable flow steering for IPv6 traffic
Mark Bloch (5):
IB/mlx5: Add per port counters
IB/mlx5: Add port protocol stats
net/mlx4: Add diagnostic counters capability bit
net/mlx4: Query performance and diagnostics counters
IB/mlx4: Add diagnostic hardware counters
Markus Elfring (3):
IB/hfi1: NULL arg to sc_return_credits is OK
IB/mthca: NULL arg to pci_dev_put is OK
IB/mthca: Clean up error unwind flow in mthca_reset()
Moni Shoua (1):
Soft RoCE driver
Mustafa Ismail (9):
IB/core: Add flow control to the portmapper netlink calls
i40iw: Correct and use size parameter to i40iw_reg_phys_mr
i40iw: Do not access pointer after free
i40iw: Remove unnecessary parameter to i40iw_cq_poll_completion
i40iw: Simplify code to set fragments in SQ WQE
i40iw: Remove unnecessary check for moving CQ head
i40iw: Change dup_ack_thresh to u8
i40iw: Add NULL check for puda buffer
Use smaller 512 byte messages for portmapper messages
Roland Dreier (1):
IB/mlx4: Don't use GFP_ATOMIC for CQ resize struct
Saeed Mahameed (1):
{net,IB}/mlx5: mlx5_ifc updates
Shiraz Saleem (1):
i40iw: Fix return codes
Slava Shwartsman (1):
IB/mlx5: Fix iteration overrun in GSI qps
Steve Wise (4):
iw_cxgb4: stop MPA_REPLY timer when disconnecting
iw_cxgb4: explicitly move the qp to ERROR state during flush
iw_cxgb4: don't block in destroy_qp awaiting the last deref
iw_cm: free cm_id resources on the last deref
Wei Yongjun (1):
IB/mlx5: Fix duplicate const warning
Yishai Hadas (10):
net/mlx5: Export required core functions to support RSS
IB/core: Introduce Work Queue object and its verbs
IB/uverbs: Add WQ support
IB/mlx5: Add receive Work Queue verbs
IB/core: Introduce Receive Work Queue indirection table
IB/uverbs: Introduce RWQ Indirection table
IB/mlx5: Add Receive Work Queue Indirection table operations
IB/core: Extend create QP to get indirection table
IB/uverbs: Extend create QP to get RWQ indirection table
IB/mlx5: Add RSS QP support
Yuval Shaia (1):
IB/ipoib: Report SG feature regardless of HW UD CSUM capability
MAINTAINERS | 9 +
drivers/infiniband/Kconfig | 1 +
drivers/infiniband/core/cma.c | 100 +-
drivers/infiniband/core/device.c | 9 +
drivers/infiniband/core/iwcm.c | 54 +-
drivers/infiniband/core/iwcm.h | 2 +-
drivers/infiniband/core/iwpm_util.c | 3 +-
drivers/infiniband/core/multicast.c | 12 -
drivers/infiniband/core/netlink.c | 6 +-
drivers/infiniband/core/sa_query.c | 41 +
drivers/infiniband/core/sysfs.c | 15 +-
drivers/infiniband/core/ucma.c | 18 +-
drivers/infiniband/core/uverbs.h | 14 +
drivers/infiniband/core/uverbs_cmd.c | 537 +++++++-
drivers/infiniband/core/uverbs_main.c | 75 +-
drivers/infiniband/core/verbs.c | 163 ++-
drivers/infiniband/hw/cxgb3/iwch_cm.c | 4 +-
drivers/infiniband/hw/cxgb3/iwch_provider.c | 27 +-
drivers/infiniband/hw/cxgb4/cm.c | 193 ++-
drivers/infiniband/hw/cxgb4/cq.c | 42 +-
drivers/infiniband/hw/cxgb4/device.c | 2 +-
drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 24 +-
drivers/infiniband/hw/cxgb4/mem.c | 127 +-
drivers/infiniband/hw/cxgb4/provider.c | 31 +-
drivers/infiniband/hw/cxgb4/qp.c | 40 +-
drivers/infiniband/hw/hfi1/Kconfig | 1 -
drivers/infiniband/hw/hfi1/file_ops.c | 2 +-
drivers/infiniband/hw/hfi1/hfi.h | 2 +
drivers/infiniband/hw/hfi1/verbs.c | 15 +
drivers/infiniband/hw/i40iw/i40iw_cm.c | 4 +-
drivers/infiniband/hw/i40iw/i40iw_d.h | 3 +
drivers/infiniband/hw/i40iw/i40iw_puda.c | 4 +
drivers/infiniband/hw/i40iw/i40iw_type.h | 2 +-
drivers/infiniband/hw/i40iw/i40iw_uk.c | 29 +-
drivers/infiniband/hw/i40iw/i40iw_user.h | 2 +-
drivers/infiniband/hw/i40iw/i40iw_verbs.c | 76 +-
drivers/infiniband/hw/mlx4/cq.c | 4 +-
drivers/infiniband/hw/mlx4/main.c | 222 +++-
drivers/infiniband/hw/mlx4/mlx4_ib.h | 9 +
drivers/infiniband/hw/mlx5/cq.c | 87 +-
drivers/infiniband/hw/mlx5/gsi.c | 19 +-
drivers/infiniband/hw/mlx5/main.c | 429 +++++-
drivers/infiniband/hw/mlx5/mlx5_ib.h | 74 ++
drivers/infiniband/hw/mlx5/mr.c | 4 +
drivers/infiniband/hw/mlx5/qp.c | 691 +++++++++-
drivers/infiniband/hw/mlx5/srq.c | 112 +-
drivers/infiniband/hw/mlx5/user.h | 88 +-
drivers/infiniband/hw/mthca/mthca_provider.c | 24 +-
drivers/infiniband/hw/mthca/mthca_reset.c | 42 +-
drivers/infiniband/hw/nes/nes_verbs.c | 33 +-
drivers/infiniband/hw/ocrdma/ocrdma_main.c | 19 +-
drivers/infiniband/hw/usnic/usnic_ib_main.c | 16 +
drivers/infiniband/hw/usnic/usnic_ib_sysfs.c | 17 -
drivers/infiniband/sw/Makefile | 1 +
drivers/infiniband/sw/rdmavt/Kconfig | 1 -
drivers/infiniband/sw/rxe/Kconfig | 24 +
drivers/infiniband/sw/rxe/Makefile | 24 +
drivers/infiniband/sw/rxe/rxe.c | 386 ++++++
drivers/infiniband/sw/rxe/rxe.h | 77 ++
drivers/infiniband/sw/rxe/rxe_av.c | 98 ++
drivers/infiniband/sw/rxe/rxe_comp.c | 734 +++++++++++
drivers/infiniband/sw/rxe/rxe_cq.c | 165 +++
drivers/infiniband/sw/rxe/rxe_dma.c | 166 +++
drivers/infiniband/sw/rxe/rxe_hdr.h | 952
++++++++++++++
drivers/infiniband/sw/rxe/rxe_icrc.c | 96 ++
drivers/infiniband/sw/rxe/rxe_loc.h | 286 ++++
drivers/infiniband/sw/rxe/rxe_mcast.c | 190 +++
drivers/infiniband/sw/rxe/rxe_mmap.c | 173 +++
drivers/infiniband/sw/rxe/rxe_mr.c | 643 +++++++++
drivers/infiniband/sw/rxe/rxe_net.c | 708 ++++++++++
drivers/infiniband/sw/rxe/rxe_net.h | 53 +
drivers/infiniband/sw/rxe/rxe_opcode.c | 961
++++++++++++++
drivers/infiniband/sw/rxe/rxe_opcode.h | 129 ++
drivers/infiniband/sw/rxe/rxe_param.h | 172 +++
drivers/infiniband/sw/rxe/rxe_pool.c | 502 +++++++
drivers/infiniband/sw/rxe/rxe_pool.h | 163 +++
drivers/infiniband/sw/rxe/rxe_qp.c | 851 ++++++++++++
drivers/infiniband/sw/rxe/rxe_queue.c | 217 +++
drivers/infiniband/sw/rxe/rxe_queue.h | 178 +++
drivers/infiniband/sw/rxe/rxe_recv.c | 420 ++++++
drivers/infiniband/sw/rxe/rxe_req.c | 726 ++++++++++
drivers/infiniband/sw/rxe/rxe_resp.c | 1380
++++++++++++++++++++
drivers/infiniband/sw/rxe/rxe_srq.c | 193 +++
drivers/infiniband/sw/rxe/rxe_sysfs.c | 157 +++
drivers/infiniband/sw/rxe/rxe_task.c | 154 +++
drivers/infiniband/sw/rxe/rxe_task.h | 95 ++
drivers/infiniband/sw/rxe/rxe_verbs.c | 1330
+++++++++++++++++++
drivers/infiniband/sw/rxe/rxe_verbs.h | 480 +++++++
drivers/infiniband/ulp/ipoib/ipoib_ethtool.c | 6 +-
drivers/infiniband/ulp/ipoib/ipoib_main.c | 3 +-
drivers/infiniband/ulp/ipoib/ipoib_verbs.c | 10 +-
drivers/net/ethernet/chelsio/cxgb4/t4_msg.h | 2 +
drivers/net/ethernet/mellanox/mlx4/fw.c | 40 +
drivers/net/ethernet/mellanox/mlx5/core/srq.c | 265 ++--
drivers/net/ethernet/mellanox/mlx5/core/transobj.c | 4 +
include/linux/mlx4/device.h | 7 +
include/linux/mlx5/cq.h | 2 +
include/linux/mlx5/driver.h | 6 +-
include/linux/mlx5/mlx5_ifc.h | 275 +++-
include/linux/mlx5/qp.h | 4 +-
include/linux/mlx5/srq.h | 25 +
include/rdma/ib_sa.h | 13 +
include/rdma/ib_verbs.h | 102 +-
include/rdma/rdma_cm.h | 4 +-
include/uapi/rdma/Kbuild | 1 +
include/uapi/rdma/ib_user_verbs.h | 95 ++
include/uapi/rdma/rdma_user_cm.h | 9 +-
include/uapi/rdma/rdma_user_rxe.h | 144 ++
108 files changed, 16804 insertions(+), 677 deletions(-)
create mode 100644 drivers/infiniband/sw/rxe/Kconfig
create mode 100644 drivers/infiniband/sw/rxe/Makefile
create mode 100644 drivers/infiniband/sw/rxe/rxe.c
create mode 100644 drivers/infiniband/sw/rxe/rxe.h
create mode 100644 drivers/infiniband/sw/rxe/rxe_av.c
create mode 100644 drivers/infiniband/sw/rxe/rxe_comp.c
create mode 100644 drivers/infiniband/sw/rxe/rxe_cq.c
create mode 100644 drivers/infiniband/sw/rxe/rxe_dma.c
create mode 100644 drivers/infiniband/sw/rxe/rxe_hdr.h
create mode 100644 drivers/infiniband/sw/rxe/rxe_icrc.c
create mode 100644 drivers/infiniband/sw/rxe/rxe_loc.h
create mode 100644 drivers/infiniband/sw/rxe/rxe_mcast.c
create mode 100644 drivers/infiniband/sw/rxe/rxe_mmap.c
create mode 100644 drivers/infiniband/sw/rxe/rxe_mr.c
create mode 100644 drivers/infiniband/sw/rxe/rxe_net.c
create mode 100644 drivers/infiniband/sw/rxe/rxe_net.h
create mode 100644 drivers/infiniband/sw/rxe/rxe_opcode.c
create mode 100644 drivers/infiniband/sw/rxe/rxe_opcode.h
create mode 100644 drivers/infiniband/sw/rxe/rxe_param.h
create mode 100644 drivers/infiniband/sw/rxe/rxe_pool.c
create mode 100644 drivers/infiniband/sw/rxe/rxe_pool.h
create mode 100644 drivers/infiniband/sw/rxe/rxe_qp.c
create mode 100644 drivers/infiniband/sw/rxe/rxe_queue.c
create mode 100644 drivers/infiniband/sw/rxe/rxe_queue.h
create mode 100644 drivers/infiniband/sw/rxe/rxe_recv.c
create mode 100644 drivers/infiniband/sw/rxe/rxe_req.c
create mode 100644 drivers/infiniband/sw/rxe/rxe_resp.c
create mode 100644 drivers/infiniband/sw/rxe/rxe_srq.c
create mode 100644 drivers/infiniband/sw/rxe/rxe_sysfs.c
create mode 100644 drivers/infiniband/sw/rxe/rxe_task.c
create mode 100644 drivers/infiniband/sw/rxe/rxe_task.h
create mode 100644 drivers/infiniband/sw/rxe/rxe_verbs.c
create mode 100644 drivers/infiniband/sw/rxe/rxe_verbs.h
create mode 100644 include/uapi/rdma/rdma_user_rxe.h
--
Doug Ledford [off-list ref]
GPG KeyID: 0E572FDD Attachments
- signature.asc [application/pgp-signature] 819 bytes