]> git.baikalelectronics.ru Git - kernel.git/commit
RDMA/core: Add XRC domain support
authorSean Hefty <sean.hefty@intel.com>
Tue, 24 May 2011 00:52:46 +0000 (17:52 -0700)
committerRoland Dreier <roland@purestorage.com>
Wed, 12 Oct 2011 17:32:26 +0000 (10:32 -0700)
commitba08b40d978c21e39f088d690338401384d132cb
treedd107c1ce5faf54a4561b7e5349eed102741772b
parent4a5fa76b64bfc6c6d0ed9b72dd03ac1b0ada13db
RDMA/core: Add XRC domain support

XRC ("eXtended reliable connected") is an IB transport that provides
better scalability by allowing senders to specify which shared receive
queue (SRQ) should be used to receive a message, which essentially
allows one transport context (QP connection) to serve multiple
destinations (as long as they share an adapter, of course).

A few new concepts are introduced to support this.  This patch adds:

 - A new device capability flag, IB_DEVICE_XRC, which low-level
   drivers set to indicate that a device supports XRC.
 - A new object type, XRC domains (struct ib_xrcd), and new verbs
   ib_alloc_xrcd()/ib_dealloc_xrcd().  XRCDs are used to limit which
   XRC SRQs an incoming message can target.

This patch is derived from work by Jack Morgenstein <jackm@dev.mellanox.co.il>.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/core/verbs.c
include/rdma/ib_verbs.h