[ofa-general] Re: [RFC] Receive Core Afinnity (aka RSS) support

Eli Cohen eli at mellanox.co.il
Tue Jun 24 06:28:47 PDT 2008


Roland,

how about the following approach. We will have a single function at the
IB core that will create a list of QPs for use with RSS. These QPs will
be used as the receive queues while the hw driver will take care of all
the underlying requirements to implement RSS. The function will meet the
needs of any RSS implementation that is needed. For example, the
follwing function can be used:

/**
 * ib_create_rca_qps - Creates a range of QPs associated with the
 * specified protection domain.
 * @pd: The protection domain associated with the QP.
 * @qp_init_attr: A list of initial attributes required to create the
 *   QPs.  If QP creation succeeds, then the attributes are updated to
 *   the actual capabilities of the created QP.
 * @nqps: The number of required QPs
 * @list: pointer to an array to hold allocated QPs
 * @default_qp: the QP that will handle all received packets that are
 *		not mapped to any of the other QPs
 */
int ib_create_rca_qps(struct ib_pd *pd,
		      struct ib_qp_init_attr *qp_init_attr,
		      int nqps,
		      struct ib_qp *list[],
		      struct ib_qp  *default_qp);


For IPoIB I suggest to use the UD qp for default_qp;


--
Eli Cohen
Mellanox Technologies LTD.
SW- Linux
Phone: +972 (4) 909 7200 (ext 276)
Mobile: +972 (54) 650 1206
E-mail: eli at mellanox.co.il

----------------------------------------------------------------------
Emails belong on computers, trees belong in forests; if you must print
this, do it on recycled paper.
http://www.greenpeace.org/international/
----------------------------------------------------------------------


Disclaimer added by CodeTwo Exchange Rules
http://www.codetwo.com



More information about the general mailing list