Hi Linus, And this is the second pull request. This uses the distinct tag for- linus-2. These are the two branches that needed a later merge base (in this case, all the way to 4.7 final) in order to apply cleanly. The other pull request should be pulled before this one. This pull request can be split out into just two categories: fixes to the RDMA R/W API in regards to SG list length limits (about 5 patches) fixes/features for the Intel hfi1 driver (everything else) The hfi1 driver is still being brought to full feature support by Intel, and they have a lot of people working on it, so that amounts to almost the entirety of this pull request. Pulling this separately from my other branch results in two merge conflicts that I would normally fix up myself. The first is to the hfi1 Makefile. It needs to keep the I2C dependency checks, and needs to drop the default line. The second is to ib_verbs.h, and it should keep all newly added lines. As a test, I created a merge branch that pulled both branches I'm submitting together. If you want a double check of the merge resolution, the tip commit of my k.o/for-4.8-combined branch (tag for- linus-merged) shows the merge resolution diff. Here's the boiler plate: The following changes since commit 523d939ef98fd712632d93a5a2b588e477a7565e: Linux 4.7 (2016-07-24 12:23:50 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma.git tags/for-linus-2 for you to fetch changes up to 7c41765d8c30bdf1b056533c0521ecdec0ec11fa: Merge branches 'hfi1' and 'sge-limit' into k.o/for-4.8-2 (2016-08-03 21:51:20 -0400) ---------------------------------------------------------------- Second round of merge items for 4.8 - hfi1 driver updates - Fix for max SGEs allowed via RDMA R/W API ---------------------------------------------------------------- Bart Van Assche (5): IB/core: Make rdma_rw_ctx_init() initialize all used fields IB/core, RDMA RW API: Do not exceed QP SGE send limit IB/srpt: Limit the number of SG elements per work request IB/srpt: Simplify srpt_queue_response() IB/isert: Remove an unused member variable Dasaratharaman Chandramouli (5): IB/hfi1: Remove unused elements from struct ahg_ib_header IB/hfi1: Rename struct ahg_ib_header to struct hfi1_ahg_info IB/hfi1: Cleanup UD packet handler. IB/hfi1: Use hdr2sc function to calculate 5-bit SC IB/qib, IB/hfi1: Fix grh creation in ud loopback Dean Luick (24): IB/hfi1: Use built-in i2c bit-shift bus adapter IB/hfi1: Remove TWSI references IB/hfi1: Explain state complete frame details IB/hfi1: Read all firmware versions IB/hfi1: Add static PCIe Gen3 CTLE tuning IB/hfi1: Remove unused uctxt->subpid and uctxt->pid IB/hfi1: Remove unused function hfi1_mmu_rb_search IB/hfi1: Always expect ops functions IB/hfi1: Make iovec loop index easy to understand IB/hfi1: Remove unneeded empty check in hfi1_mmu_rb_unregister() IB/hfi1: Rename TID mmu_rb_* functions IB/hfi1: Use the same capability state for all shared contexts IB/hfi1: Validate SDMA user request index IB/hfi1: Validate SDMA user iovector count IB/hfi1: Release node on insert failure IB/hfi1: Fix error condition that needs to clean up IB/hfi1: Fix user SDMA racy user request claim IB/hfi1: Make the cache handler own its rb tree root IB/hfi1: Fix TID caching actions IB/hfi1: Add evict operation to the mmu rb handler IB/hfi1: Use evict mmu rb operation IB/hfi1: Consistently call ops->remove outside spinlock IB/hfi1: Remove unneeded mm argument in remove function IB/hfi1: Add cache evict LRU list Dennis Dalessandro (1): IB/hfi1: Add global structure for affinity assignments Don Hiatt (1): IB/hfi1: Rename hfi1_pio_header to hfi1_sdma_header. Doug Ledford (1): Merge branches 'hfi1' and 'sge-limit' into k.o/for-4.8-2 Easwar Hariharan (3): IB/hfi1: Disable external device configuration requests IB/hfi1: Ignore QSFP interrupts until power stabilizes IB/hfi1: Reset QSFP on every run through channel tuning Grzegorz Heldt (1): IB/hfi1: Fix trace message units Harish Chegondi (1): IB/hfi1: Modify the default number of kernel receive conexts Ira Weiny (16): IB/hfi1: Clean up port state structure definition IB/hfi1: Remove unnecessary done label in hfi1_write_iter IB/hfi1: Handle kzalloc failure in init_pervl_scs IB/rdmavt: Eliminate redundant opcode test in mr ref clear IB/hfi1: Allow for non-double word multiple message sizes for user SDMA IB/hfi1: Expand reported serial number IB/hfi1: Fix minor format error IB/hfi1: Add parameter names to function declarations IB/hfi1: Add parameter names to callback declarations IB/hfi1: Consolidate __mmu_rb_remove and hfi1_mmu_rb_remove IB/hfi1: Remove unused sub-context parameter IB/hfi1: Use "false" not 0 IB/hfi1: Restructure hfi1_file_open IB/hfi1: Prevent null pointer dereference IB/hfi1: Make use of mm consistent IB/hfi1: Fix memory leak during unexpected shutdown Jakub Pawlak (4): IB/hfi1: Add VL XmitDiscards counters to the opapmaquery IB/hfi1: Add counter to track unsupported packets drop IB/hfi1: Correct receive packet handler assignment IB/hfi1: Fix integrity errors counter value calculation Jianxin Xiong (10): IB/hfi1: Improve SDMA engine assignment for user SDMA IB/rdmavt: Add support for ib_map_mr_sg IB/rdmavt: Add mechanism to invalidate MR keys IB/rdmavt: Handle local operations in post send IB/hfi1: Handle send with invalidate opcode in the RC recv path IB/hfi1: Work request processing for fast register mr and invalidate IB/hfi1: Add support for extended memory management IB/rdmavt: Add missing spin_lock_init call for rdi->n_cqs_lock IB/hfi1: Fix "suspicious rcu_dereference_check() usage" warnings IB/rdmavt, hfi1: Fix NFSoRDMA failure with FRMR enabled Mike Marciniszyn (6): IB/hfi1: Fix trace sparse errors IB/rdmavt: Add data structures and routines for table driven post send IB/hfi1: Add hfi1 post send tables IB/qib: Add qib post send table IB/rdmavt: Use new driver specific post send table IB/hfi1: Add the capability for reserved operations Mitko Haralanov (1): IB/hfi1: Pull FECN/BECN processing to a common place Sebastian Sanchez (3): IB/hfi1: Separate tracepoints into specific headers IB/hfi1: Reserve and collapse CPU cores for contexts IB/hfi1: Refine user process affinity algorithm Tadeusz Struk (2): IB/hfi1: Fix typo IB/hfi1: Add sysfs entry to override SDMA interrupt affinity Tymoteusz Kielan (1): IB/hfi1: Fix to fully initialize send context area drivers/infiniband/core/rw.c | 24 +- drivers/infiniband/core/verbs.c | 9 + drivers/infiniband/hw/hfi1/Kconfig | 3 +- drivers/infiniband/hw/hfi1/Makefile | 2 +- drivers/infiniband/hw/hfi1/affinity.c | 567 +++++++++--- drivers/infiniband/hw/hfi1/affinity.h | 38 +- drivers/infiniband/hw/hfi1/chip.c | 296 +++--- drivers/infiniband/hw/hfi1/chip.h | 5 +- drivers/infiniband/hw/hfi1/chip_registers.h | 4 + drivers/infiniband/hw/hfi1/driver.c | 52 +- drivers/infiniband/hw/hfi1/file_ops.c | 91 +- drivers/infiniband/hw/hfi1/firmware.c | 125 +++ drivers/infiniband/hw/hfi1/hfi.h | 121 ++- drivers/infiniband/hw/hfi1/init.c | 51 +- drivers/infiniband/hw/hfi1/mad.c | 60 +- drivers/infiniband/hw/hfi1/mad.h | 7 - drivers/infiniband/hw/hfi1/mmu_rb.c | 254 ++--- drivers/infiniband/hw/hfi1/mmu_rb.h | 37 +- drivers/infiniband/hw/hfi1/pcie.c | 68 +- drivers/infiniband/hw/hfi1/pio.c | 21 +- drivers/infiniband/hw/hfi1/platform.c | 20 +- drivers/infiniband/hw/hfi1/qp.c | 68 +- drivers/infiniband/hw/hfi1/qp.h | 4 +- drivers/infiniband/hw/hfi1/qsfp.c | 409 +++++--- drivers/infiniband/hw/hfi1/qsfp.h | 3 + drivers/infiniband/hw/hfi1/rc.c | 90 +- drivers/infiniband/hw/hfi1/ruc.c | 57 +- drivers/infiniband/hw/hfi1/sysfs.c | 25 + drivers/infiniband/hw/hfi1/trace.h | 1333 +---------------- ---------- drivers/infiniband/hw/hfi1/trace_ctxts.h | 141 +++ drivers/infiniband/hw/hfi1/trace_dbg.h | 155 ++++ drivers/infiniband/hw/hfi1/trace_ibhdrs.h | 209 +++++ drivers/infiniband/hw/hfi1/trace_misc.h | 81 ++ drivers/infiniband/hw/hfi1/trace_rc.h | 123 +++ drivers/infiniband/hw/hfi1/trace_rx.h | 322 +++++++ drivers/infiniband/hw/hfi1/trace_tx.h | 642 +++++++++++++ drivers/infiniband/hw/hfi1/twsi.c | 489 ---------- drivers/infiniband/hw/hfi1/twsi.h | 65 -- drivers/infiniband/hw/hfi1/uc.c | 61 +- drivers/infiniband/hw/hfi1/ud.c | 86 +- drivers/infiniband/hw/hfi1/user_exp_rcv.c | 124 +-- drivers/infiniband/hw/hfi1/user_pages.c | 19 +- drivers/infiniband/hw/hfi1/user_sdma.c | 301 +++--- drivers/infiniband/hw/hfi1/user_sdma.h | 8 +- drivers/infiniband/hw/hfi1/verbs.c | 74 +- drivers/infiniband/hw/hfi1/verbs.h | 8 +- drivers/infiniband/hw/hfi1/verbs_txreq.h | 2 +- drivers/infiniband/hw/qib/qib_qp.c | 43 + drivers/infiniband/hw/qib/qib_ud.c | 8 +- drivers/infiniband/hw/qib/qib_verbs.c | 2 + drivers/infiniband/hw/qib/qib_verbs.h | 2 + drivers/infiniband/sw/rdmavt/cq.c | 1 + drivers/infiniband/sw/rdmavt/mr.c | 124 ++- drivers/infiniband/sw/rdmavt/mr.h | 2 + drivers/infiniband/sw/rdmavt/qp.c | 246 +++-- drivers/infiniband/sw/rdmavt/vt.c | 10 +- drivers/infiniband/ulp/isert/ib_isert.c | 2 - drivers/infiniband/ulp/isert/ib_isert.h | 1 - drivers/infiniband/ulp/srpt/ib_srpt.c | 10 +- drivers/infiniband/ulp/srpt/ib_srpt.h | 6 +- include/rdma/ib_verbs.h | 6 + include/rdma/opa_port_info.h | 16 - include/rdma/rdma_vt.h | 7 + include/rdma/rdmavt_mr.h | 1 + include/rdma/rdmavt_qp.h | 92 +- include/uapi/rdma/hfi/hfi1_user.h | 2 +- 66 files changed, 4323 insertions(+), 3012 deletions(-) create mode 100644 drivers/infiniband/hw/hfi1/trace_ctxts.h create mode 100644 drivers/infiniband/hw/hfi1/trace_dbg.h create mode 100644 drivers/infiniband/hw/hfi1/trace_ibhdrs.h create mode 100644 drivers/infiniband/hw/hfi1/trace_misc.h create mode 100644 drivers/infiniband/hw/hfi1/trace_rc.h create mode 100644 drivers/infiniband/hw/hfi1/trace_rx.h create mode 100644 drivers/infiniband/hw/hfi1/trace_tx.h delete mode 100644 drivers/infiniband/hw/hfi1/twsi.c delete mode 100644 drivers/infiniband/hw/hfi1/twsi.h -- Doug Ledford <dledford@xxxxxxxxxx> GPG KeyID: 0E572FDD
Attachment:
signature.asc
Description: This is a digitally signed message part