Please pull rdma.git
Hi Linus,
This is the first of three pull requests this merge window (they are all ready to go, but they all also needed to wait before being sent...two of them needed to wait on DaveM's pull request to land, and the third is a tree-wide change and per typical policy I was going to wait until the end of the merge window and submit it them...please let me know if you want me to handle the tree-wide change any differently, it's the patch series posted by Bart Van Assche to remove the IB DMA ops structs and use the core DMA ops instead). This particular pull request is all of the non-Mellanox and non-tree-wide changes. Nothing overly exciting in this one. There is another new RoCE driver, bnxt_re (this was why we had to wait on Dave's pull request, we had a dependency on changes to the bnxt driver in it). We added a formal ETH_P_IBOE definition in the core net headers so we would have to hard code it all over the place. And lots of miscellaneous updates and fixes across the tree.
Here's the boilerplate:
Quoted 2 lines
The following changes since
commit 646ebd4166ca00bdf682a36bd2e1c9a74d848ac6:
RDMA: Don't reference kernel private header from UAPI header (2017- 02-08 12:28:49 -0500)
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 todb690328a7df0b507f7d59de0c7e1bbe8f4b9e6a:
RDMA/bnxt_re: fix for "bnxt_en: Update to firmware interface spec 1.7.0." (2017-02-22 15:40:17 -0500)
----------------------------------------------------------------
First set of updates for 4.11 kernel merge window
- Add new Broadcom bnxt_re RoCE driver
- rxe driver updates
- ioctl cleanups
- ETH_P_IBOE declaration cleanup
- IPoIB changes
- Add port state cache
- Allow srpt driver to accept guids as port names in config
- Update to hfi1 driver
- Update to srp driver
- Lots of misc. minor changes all over
----------------------------------------------------------------
Amrani, Ram (1):
RDMA/qedr: restructure functions that create/destroy QPs
Arnd Bergmann (3):
IB/hfi1: use size_t for passing array length IB/hns: include linux/module.h RDMA/bnxt_re: add DCB dependency
Bart Van Assche (24):
IB/rxe: Suppress sparse warnings
IB/rxe: Constify the pool name
IB/rxe: Remove an unused function
IB/rxe: Remove an unused variable and an unused argument IB/rxe: Remove superfluous casts
IB/rxe: Enable type checking on SKB_TO_PKT() and PKT_TO_SKB() arguments
IB/rxe: Let the compiler check the type of the cleanup functions IB/rxe: Issue warnings once
IB/rxe: Add a runtime check in alloc_index()
IB/rxe: Introduce functions for queue draining IB/rxe: Generate a completion for all failed work requests IB/rxe: Fix a MR reference leak in check_rkey() IB/rxe: Fix reference leaks in memory key invalidation code IB/rxe: Remove a pointless indirection layer
IB/rxe: Fix an skb leak
IB/srpt: Accept GUIDs as port names
IB/SRP: Avoid using IB_MR_TYPE_SG_GAPS
IB/srp: Avoid that duplicate responses trigger a kernel bug IB/srp: Fix race conditions related to task management IB/srp: Document locking conventions
IB/srp: Make a diagnostic message more informative IB/srp: Improve an error path
IB/core: Add support for draining IB_POLL_DIRECT completion queues
IB/srp: Drain the send queue before destroying a QP
Brian Welty (5):
IB/hfi1, qib, rdmavt: Move two IB event functions into rdmavt IB/hfi1, qib, rdmavt: Move AETH credit functions into rdmavt IB/hfi1, rdmavt: Update copy_sge to use boolean arguments IB/hfi1, rdmavt: Move SGE state helper routines into rdmavt IB/qib: Updates to use rdmavt's SGE helper routines
Cao jin (2):
RDMA/qib: drop qib_pci_link_reset()
RDMA/hfi1: drop pci_link_reset()
Christoph Hellwig (2):
IB/mthca: switch to pci_alloc_irq_vectors
vmw_pvrdma: switch to pci_alloc_irq_vectors
Christophe Jaillet (2):
IB/cma: Fix reversed test
RDMA/qedr: Fix some error handling
Colin Ian King (1):
IB/isert: fix spelling mistake: "teminating" -> "terminating"
Dan Carpenter (1):
i40iw: fix some indenting in i40iw_sc_vsi_init()
Don Hiatt (2):
IB/hfi1: Add rvt_rnr_tbl_to_usec function IB/hfi1, qib, rdmavt: Move AETH defines to rdma/ib_hdrs.h
Doug Ledford (1):
Merge branch 'k.o/for-4.10-rc' into HEAD
Easwar Hariharan (1):
IB/hfi1: Use static CTLE with Preset 6 for integrated HFIs
Erez Shitrit (1):
IB/IPoIB: Add destination address when re-queue packet
Feras Daoud (9):
IB/ipoib: When given an invalid UD MTU, give debug msg IB/ipoib: Set device connection mode only when needed IB/ipoib: Fix deadlock over vlan_mutex
IB/ipoib: Fix deadlock between rmmod and set_mode IB/ipoib: rtnl_unlock can not come after free_netdev IB/ipoib: Add detailed error message to dev_queue_xmit call IB/ipoib: Use debug prints instead of warnings in RNR WC status IB/ipoib: Replace list_del of the neigh->list with list_del_init IB/ipoib: Change list_del to list_del_init in the tx object
Ganesh Goudar (2):
iw_cxgb4: Guard against null cm_id in dump_ep/qp
iw_cxgb4: clean up send_connect()
Geliang Tang (1):
RDMA/qib: use rb_entry()
Jack Wang (5):
RDMA/core: add port state cache RDMA/core: export ib_get_cached_port_state RDMA/cma: resolve to first active ib port RDMA/cma: use cached port state when bind loopback RDMA/core: create struct ib_port_cache
Jakub Byczkowski (1):
IB/hfi1: Modify logging frequency of DCC errors
Jason Gunthorpe (1):
RDMA/core: Fix incorrect structure packing for booleans
Kees Cook (2):
RDMA/nes: use designated initializers
RDMA/i40iw: use designated initializers
Leon Romanovsky (7):
RDMA/core: Commonize RDMA IOCTL declarations location RDMA/core: Move legacy MAD IOCTL declarations to common file RDMA/hfi1: Avoid redeclaration error
RDMA/core: Move HFI1 IOCTL declarations to common file RDMA/core: Rename RDMA magic number
RDMA/core: Unify style of IOCTL commands
IB/qib: Remove empty function
Majd Dibbiny (1):
IB/cma: Add default RoCE TOS to CMA configfs
Max Gurtovoy (1):
IB/iser: Protect completion context active_qps update
Michael J. Ruhl (2):
IB/hfi1: Do not set physical link state if DC is in the shutdown state
IB/hfi1: Code reuse with memdup_copy
Mike Marciniszyn (6):
IB/hfi1: Correct defered count after processing qp_wait_list IB/hfi1: Process qp wait list in IRQ thread periodically IB/hfi1: Ensure read of producer s_head is correct IB/hfi1: Correct error calldown locking
IB/hfi1: Add additional fields to qp_stats IB/rdmavt, IB/hfi1, IB/qib: Correct ack count for passive (RTR) QPs
Moni Shoua (3):
IB/cma: Add debug messages to error flows IB/cma: Allow port reuse for rdma_id
IB/cma: Destination and source addr families must match
Parav Pandit (1):
IB/core: Remove pointer casting from void to net_device
Sebastian Sanchez (5):
IB/hfi1: Access hfi1_ibport through rcd pointer IB/rdmavt: Use per-CPU reference count for MRs IB/hfi1: Allocate context data on memory node IB/hfi1: Reduce oversized fields in struct hfi1_packet IB/hfi1: Check upper-case EFI variables
Selvin Xavier (3):
RDMA: Adding ethertype ETH_P_IBOE RDMA/bnxt_re: Add bnxt_re RoCE driver RDMA/bnxt_re: Add bnxt_re driver build support
Shiraz Saleem (1):
i40iw: Set maj_err and min_err in i40iw_sc_cqp_create
Stephen Rothwell (1):
RDMA/bnxt_re: fix for "bnxt_en: Update to firmware interface spec 1.7.0."
Steve Wise (1):
rdma_cm: fail iwarp accepts w/o connection params
Venkata Sandeep Dhanalakota (3):
IB/rdmavt: Adding timer logic to rdmavt
IB/hfi1: Use new rdmavt timers
IB/qib: Use new rdmavt timers
Wei Yongjun (1):
IB/rxe: use setup_timer to simplify the code
Yuval Shaia (5):
IB/core: Fix typo in comment IB/vmw_pvrdma: Remove unused qp_type IB/mad: Add port_num to error message IB/core: Add inline function to validate port IB/vmw_pvrdma: Expose vendor error to ULPs
Zhu Yanjun (5):
IB/ipoib: Remove unnecessary returned value check IB/ipoib: function interface change IB/ipoib: Remove the unnecessary error check IB/ipoib: remove the unnecessary memory free IB/ipoib: Remove redudant label
ssh10 (2):
RDMA/cxgb4: Use AF_INET for sin_family field RDMA/ocrdma: Replace BUG() with BUG_ON()
Documentation/ABI/testing/configfs-rdma_cm | 8 + MAINTAINERS | 11 + drivers/infiniband/Kconfig | 2 + drivers/infiniband/core/cache.c | 162 +- drivers/infiniband/core/cm.c | 2 + drivers/infiniband/core/cma.c | 171 +- drivers/infiniband/core/cma_configfs.c | 42 + drivers/infiniband/core/core_priv.h | 3 + drivers/infiniband/core/cq.c | 6 +- drivers/infiniband/core/device.c | 4 +- drivers/infiniband/core/mad.c | 4 +- drivers/infiniband/core/roce_gid_mgmt.c | 28 +- drivers/infiniband/core/verbs.c | 38 +- drivers/infiniband/hw/Makefile | 1 + drivers/infiniband/hw/bnxt_re/Kconfig | 9 + drivers/infiniband/hw/bnxt_re/Makefile | 6 + drivers/infiniband/hw/bnxt_re/bnxt_re.h | 146 + drivers/infiniband/hw/bnxt_re/ib_verbs.c | 3202
++++++++++++++++++++
drivers/infiniband/hw/bnxt_re/ib_verbs.h | 197 ++ drivers/infiniband/hw/bnxt_re/main.c | 1315 ++++++++ drivers/infiniband/hw/bnxt_re/qplib_fp.c | 2167
+++++++++++++
drivers/infiniband/hw/bnxt_re/qplib_fp.h | 439 +++ drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 694 +++++ drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 231 ++ drivers/infiniband/hw/bnxt_re/qplib_res.c | 825 +++++ drivers/infiniband/hw/bnxt_re/qplib_res.h | 223 ++
drivers/infiniband/hw/bnxt_re/qplib_sp.c | 838 +++++ drivers/infiniband/hw/bnxt_re/qplib_sp.h | 160 + drivers/infiniband/hw/bnxt_re/roce_hsi.h | 2821
+++++++++++++++++
drivers/infiniband/hw/cxgb4/cm.c | 62 +- drivers/infiniband/hw/cxgb4/device.c | 133 +- drivers/infiniband/hw/hfi1/chip.c | 38 +- drivers/infiniband/hw/hfi1/common.h | 4 - drivers/infiniband/hw/hfi1/debugfs.c | 39 +- drivers/infiniband/hw/hfi1/driver.c | 125 +- drivers/infiniband/hw/hfi1/efivar.c | 26 +- drivers/infiniband/hw/hfi1/hfi.h | 18 +- drivers/infiniband/hw/hfi1/init.c | 17 +- drivers/infiniband/hw/hfi1/pcie.c | 14 +-
drivers/infiniband/hw/hfi1/qp.c | 177 +- drivers/infiniband/hw/hfi1/qp.h | 22 - drivers/infiniband/hw/hfi1/rc.c | 296 +-
drivers/infiniband/hw/hfi1/ruc.c | 55 +- drivers/infiniband/hw/hfi1/trace.c | 4 +- drivers/infiniband/hw/hfi1/uc.c | 16 +- drivers/infiniband/hw/hfi1/ud.c | 18 +- drivers/infiniband/hw/hfi1/user_exp_rcv.c | 17 +- drivers/infiniband/hw/hfi1/user_sdma.c | 17 +- drivers/infiniband/hw/hfi1/verbs.c | 117 +- drivers/infiniband/hw/hfi1/verbs.h | 24 +- drivers/infiniband/hw/hns/hns_roce_main.c | 1 + drivers/infiniband/hw/i40iw/i40iw_ctrl.c | 137 +- drivers/infiniband/hw/i40iw/i40iw_uk.c | 34 +- drivers/infiniband/hw/mlx4/qp.c | 6 +- drivers/infiniband/hw/mthca/mthca_main.c | 24 +- drivers/infiniband/hw/nes/nes_cm.c | 22 +- drivers/infiniband/hw/ocrdma/ocrdma_ah.c | 4 +- drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 3 +- drivers/infiniband/hw/ocrdma/ocrdma_sli.h | 5 - drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 15 +- drivers/infiniband/hw/qedr/qedr_cm.c | 2 +- drivers/infiniband/hw/qedr/qedr_cm.h | 1 - drivers/infiniband/hw/qedr/verbs.c | 559 ++-- drivers/infiniband/hw/qib/qib_common.h | 4 - drivers/infiniband/hw/qib/qib_iba7322.c | 1 - drivers/infiniband/hw/qib/qib_pcie.c | 8 - drivers/infiniband/hw/qib/qib_qp.c | 135 - drivers/infiniband/hw/qib/qib_qsfp.c | 10 - drivers/infiniband/hw/qib/qib_qsfp.h | 1 - drivers/infiniband/hw/qib/qib_rc.c | 179 +- drivers/infiniband/hw/qib/qib_ruc.c | 47 +- drivers/infiniband/hw/qib/qib_uc.c | 15 +- drivers/infiniband/hw/qib/qib_ud.c | 8 +- drivers/infiniband/hw/qib/qib_user_sdma.c | 6 +- drivers/infiniband/hw/qib/qib_verbs.c | 96 +- drivers/infiniband/hw/qib/qib_verbs.h | 10 +- drivers/infiniband/hw/usnic/usnic_common_pkt_hdr.h | 1 - drivers/infiniband/hw/usnic/usnic_fwd.h | 3 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma.h | 8 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 2 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_dev_api.h | 6 - drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 162 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 5 +- drivers/infiniband/sw/rdmavt/Makefile | 4 +-
drivers/infiniband/sw/rdmavt/mr.c | 59 +- drivers/infiniband/sw/rdmavt/pd.c | 2 +- drivers/infiniband/sw/rdmavt/qp.c | 233 +- drivers/infiniband/sw/rdmavt/rc.c | 189 ++
drivers/infiniband/sw/rxe/rxe.c | 2 +- drivers/infiniband/sw/rxe/rxe_comp.c | 91 +- drivers/infiniband/sw/rxe/rxe_cq.c | 4 +- drivers/infiniband/sw/rxe/rxe_hdr.h | 12 +- drivers/infiniband/sw/rxe/rxe_loc.h | 29 +- drivers/infiniband/sw/rxe/rxe_mcast.c | 8 +- drivers/infiniband/sw/rxe/rxe_mr.c | 10 +- drivers/infiniband/sw/rxe/rxe_net.c | 51 +- drivers/infiniband/sw/rxe/rxe_pool.c | 14 +- drivers/infiniband/sw/rxe/rxe_pool.h | 8 +- drivers/infiniband/sw/rxe/rxe_qp.c | 13 +- drivers/infiniband/sw/rxe/rxe_recv.c | 2 +- drivers/infiniband/sw/rxe/rxe_req.c | 34 +- drivers/infiniband/sw/rxe/rxe_resp.c | 64 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 10 +- drivers/infiniband/sw/rxe/rxe_verbs.h | 24 +- drivers/infiniband/ulp/ipoib/ipoib.h | 10 +- drivers/infiniband/ulp/ipoib/ipoib_cm.c | 41 +- drivers/infiniband/ulp/ipoib/ipoib_ib.c | 14 +- drivers/infiniband/ulp/ipoib/ipoib_main.c | 77 +- drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 10 +- drivers/infiniband/ulp/ipoib/ipoib_vlan.c | 14 +- drivers/infiniband/ulp/iser/iser_verbs.c | 2 + drivers/infiniband/ulp/isert/ib_isert.c | 2 +- drivers/infiniband/ulp/srp/ib_srp.c | 93 +- drivers/infiniband/ulp/srp/ib_srp.h | 1 + drivers/infiniband/ulp/srpt/ib_srpt.c | 139 +- drivers/infiniband/ulp/srpt/ib_srpt.h | 18 +- drivers/target/target_core_tpg.c | 1 + include/rdma/ib_cache.h | 13 + include/rdma/ib_hdrs.h | 6 + include/rdma/ib_sa.h | 6 +- include/rdma/ib_verbs.h | 18 +- include/rdma/rdma_vt.h | 21 +- include/rdma/rdmavt_mr.h | 60 +- include/rdma/rdmavt_qp.h | 46 + include/target/target_core_base.h | 1 + include/uapi/linux/if_ether.h | 1 + include/uapi/rdma/Kbuild | 1 + include/uapi/rdma/bnxt_re-abi.h | 89 + include/uapi/rdma/hfi/Kbuild | 1 + include/uapi/rdma/hfi/hfi1_ioctl.h | 173 ++ include/uapi/rdma/hfi/hfi1_user.h | 175 +- include/uapi/rdma/ib_user_mad.h | 14 +- include/uapi/rdma/rdma_user_ioctl.h | 87 +
133 files changed, 15869 insertions(+), 2642 deletions(-)
create mode 100644 drivers/infiniband/hw/bnxt_re/Kconfig create mode 100644 drivers/infiniband/hw/bnxt_re/Makefile create mode 100644 drivers/infiniband/hw/bnxt_re/bnxt_re.h create mode 100644 drivers/infiniband/hw/bnxt_re/ib_verbs.c create mode 100644 drivers/infiniband/hw/bnxt_re/ib_verbs.h create mode 100644 drivers/infiniband/hw/bnxt_re/main.c create mode 100644 drivers/infiniband/hw/bnxt_re/qplib_fp.c create mode 100644 drivers/infiniband/hw/bnxt_re/qplib_fp.h create mode 100644 drivers/infiniband/hw/bnxt_re/qplib_rcfw.c create mode 100644 drivers/infiniband/hw/bnxt_re/qplib_rcfw.h create mode 100644 drivers/infiniband/hw/bnxt_re/qplib_res.c create mode 100644 drivers/infiniband/hw/bnxt_re/qplib_res.h create mode 100644 drivers/infiniband/hw/bnxt_re/qplib_sp.c create mode 100644 drivers/infiniband/hw/bnxt_re/qplib_sp.h create mode 100644 drivers/infiniband/hw/bnxt_re/roce_hsi.h create mode 100644 drivers/infiniband/sw/rdmavt/rc.c create mode 100644 include/uapi/rdma/bnxt_re-abi.h create mode 100644 include/uapi/rdma/hfi/hfi1_ioctl.h create mode 100644 include/uapi/rdma/rdma_user_ioctl.h
Signature · 4 lines
Doug Ledford <[email protected]> GPG KeyID: B826A3330E572FDD Key fingerprint = AE6B 1BDA 122B 23B4 265B 1274 B826 A333 0E57 2FDD
A message that is not in the archive (sent off-list or not yet received): 1487796701.86943.126.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
Quoted 3 lines · Doug Ledford
the third is a tree-wide change and per typical policy I was going to wait until the end of the merge window and submit it them...
Well, "typical policy" for tree-wide ones is definitely not that some random crazy driver subsystem does them.
What are these tree-wide ones?
Quoted 2 lines
it's the patch series posted by Bart Van Assche to remove the IB DMA ops structs and use the core DMA ops instead
Do you have pointers to the actual diff? That doesn't sound very tree-wide, it sounds limited to just rdma, and as such shouldn't impact anybody else.
Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
A message that is not in the archive (sent off-list or not yet received): CA+55aFz6mZUHonfz3qtq17MJNcO+m4m4qspuZzhBG8wPi8Azjg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org
Quoted 2 lines · Linus Torvalds
Do you have pointers to the actual diff?
Ok, I found them.
Quoted 3 lines
That doesn't sound very
tree-wide, it sounds limited to just rdma, and as such shouldn't impact anybody else.
Ok, it's somewhat tree-wide, but doesn't look all that conflicting to me. I'd rather have those patches early than late.
Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
A message that is not in the archive (sent off-list or not yet received): CA+55aFyS3P70r4y53gYYr7OPf1rwaR0EJOpvMDZ3LQ=3XHCbqQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org
Quoted 7 lines · Linus Torvalds
Quoted 3 lines · Linus Torvalds
Do you have pointers to the actual diff?
Ok, I found them.
Not sure which you found, mailing list archive or other. But they are also in my git repo on the k.o/for-4.11-dma_ops branch.
Quoted 7 lines
Quoted 4 lines
That doesn't sound very
tree-wide, it sounds limited to just rdma, and as such shouldn't impact anybody else.Ok, it's somewhat tree-wide, but doesn't look all that conflicting to me. I'd rather have those patches early than late.
I'll get those to you tomorrow then. I pulled these patches on Jan 20, and as a result of being in their own branch and not in my for-next area (as per some guidance I received on how to handle these since they are at least lightly tree-wide), they have developed some merge conflicts. It will be cleaner if I send the Mellanox pull request next so you can process it while I fix up those 3 issues tonight (I have to run to an appt soon).
Signature · 4 lines
Doug Ledford <[email protected]> GPG KeyID: B826A3330E572FDD Key fingerprint = AE6B 1BDA 122B 23B4 265B 1274 B826 A333 0E57 2FDD
A message that is not in the archive (sent off-list or not yet received): 1487871809.86943.136.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
Quoted 6 lines · Doug Ledford
Quoted 2 lines · Linus Torvalds
Ok, I found them.
Not sure which you found, mailing list archive or other. But they are also in my git repo on the k.o/for-4.11-dma_ops branch.
I found the latest 26-patch series on lkml from Bart. I'm assuming that's at least close to what you have.
Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
A message that is not in the archive (sent off-list or not yet received): CA+55aFzzLKu2SVQ0NG0ixpVftbD_SaK0h9MTrAyHFiaERS524A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org
Quoted 6 lines · Linus Torvalds
Quoted 4 lines · Doug Ledford
Quoted 2 lines · Linus Torvalds
Quoted 8 lines
Quoted 5 lines
Quoted 1 line
Ok, I found them.
Not sure which you found, mailing list archive or other. But they are
also in my git repo on the k.o/for-4.11-dma_ops branch.I found the latest 26-patch series on lkml from Bart. I'm assuming that's at least close to what you have.
That's close. As a result of review comments, it was split even further and what's in my tree is a total of 37 patches.
Signature · 4 lines
Doug Ledford <[email protected]> GPG KeyID: B826A3330E572FDD Key fingerprint = AE6B 1BDA 122B 23B4 265B 1274 B826 A333 0E57 2FDD