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

Or Gerlitz ogerlitz at voltaire.com
Wed Jun 18 08:28:41 PDT 2008


Eli Cohen wrote:
> I plan to implement RCA for IPoIB and would like your comments. Using RCA allows better utilization of available CPU cores power by evenly distributing received SKBs between a few receive queues. Since each such queue is connected to a different CQ, which in turn is connected to an EQ which triggers a distinct IRQ vector, we can have more power to
> process received buffers.
Eli, Roland

Can you point me to Ethernet driver in the mainline kernel that 
implements multiple receive queues?
> In IPoIB support will be added only for UD mode. For sending we will use the same QP used today. For receive we will create a an RCA QP (by using IB_QP_CREATE_IPOIB_RCA in the create flags) and a group of QPs. The base QPN, number of QPs and a default QPN have to be passed to the RCA QP -- I am not sure what is the best way to do that but I am thinking of passing these values with modify QP to init using new fields in struct ib_qp_attr. The default QPN will be the current QP used for UD. We will have multiple receive rings (as the number of QPs) so we don't need to add spinlocks.
I am trying to think if this design will allow to use later also 
multiple send queues, eg in the spirit of 
Documentation/networking/multiqueue.txt, what's your thinking? grepping 
on NETIF_F_MULTI_QUEUE under drivers/net does not retrieve many hits, so 
I wasn't sure if this is the current practice for multiple send queues 
nowadays.

Or.




More information about the general mailing list