[ewg] RE: ofed 1.2 multicast patch documentation

Sean Hefty sean.hefty at intel.com
Tue May 29 11:09:05 PDT 2007


I believe that the following change log messages should cover
merged_sean_rdma_dev_ofed_1_2.patch.

- Sean
---

RDMA/cma: use local SA cache for path queries

Have the rdma_cm check the local SA cache for path records before
querying the remote SA.  This improves path record lookup time and
scale-out connection rates.


IB/sa: Add local SA path record caching.

Query and store path records locally to decrease path record query time
and offload SA flooding during the start-up of large clustered jobs.


RDMA/cma: Add multicast communication support

Extend rdma_cm to support multicast communication.  Multicast support
is added to the existing RDMA_PS_UDP port space, as well as a new
RDMA_PS_IPOIB port space.  The latter port space allows joining the
multicast groups used by IPoIB, which enables offloading IPoIB traffic
to a separate QP.  The port space determines the signature used in the
MGID when joining the group.  The newly added RDMA_PS_IPOIB also
allows for unicast operations, similar to RDMA_PS_UDP.

Supporting the RDMA_PS_IPOIB requires changing how UD QPs are initialized,
since we can no longer assume that the qkey is constant.  This requires
saving the Q_Key to use when attaching to a device, so that it is
available when creating the QP.  The Q_Key information is exported to
the user through the existing rdma_init_qp_attr() interface.

Multicast support is also exported to userspace through the rdma_ucm.


IB/sa: Track multicast join/leave requests

The IB SA tracks multicast join/leave requests on a per port basis and
does not do any reference counting: if two users of the same port join
the same group, and one leaves that group, then the SA will remove the
port from the group even though there is one user who wants to stay a
member left.  Therefore, in order to support multiple users of the
same multicast group from the same port, we need to perform reference
counting locally.

To do this, add an multicast submodule to ib_sa to perform reference
counting of multicast join/leave operations.  Modify ib_ipoib (the
only in-kernel user of multicast) to use the new interface.



More information about the ewg mailing list