Merge branch 'opfn' into hfi1-tid
authorDoug Ledford <dledford@redhat.com>
Thu, 31 Jan 2019 16:56:25 +0000 (11:56 -0500)
committerDoug Ledford <dledford@redhat.com>
Thu, 31 Jan 2019 16:56:25 +0000 (11:56 -0500)
commit2a6423961edf9db98d1e567992560e3bab65a9fc
tree142ea39376f3cba0e6cef13fba18441ec35b3820
parentdb421a54996c602503204345171c662e65f20527
parenta131d16460971353e7dd6916d9fd34c1c946a782
Merge branch 'opfn' into hfi1-tid

This series adds the OPFN feature, which is used as the negotiation
protocol by TID RDMA. This adds a totally hidden, in-band negotiation
transfer that happens on the consumer's queue pair but without the
consumer's knowledge.  For that reason, things like completions for OPFN
transfers must be filtered out of the completion queue and not sent to
the consumer.  This feature does not impact any consumer APIs, but does
impact the driver/driver wire API.

At a high level OPFN enables exchanging parameters between two hosts
using IB compare and swap requests to a special virtual address. The
request uses a reserved IB work request opcode (see patch 3).

* opfn:
  IB/hfi1: Add static trace for OPFN
  IB/hfi1: Integrate OPFN into RC transactions
  IB/hfi1, IB/rdmavt: Allow for extending of QP's s_ack_queue
  IB/hfi1: OPFN interface
  IB/hfi1: Add OPFN helper functions for TID RDMA feature
  IB/hfi1: OPFN support discovery

Signed-off-by: Doug Ledford <dledford@redhat.com>