[ewg] [PATCH] IB/core: Add support for Receive Core Affinity

Ralph Campbell ralph.campbell at qlogic.com
Tue Aug 5 10:19:04 PDT 2008


On Tue, 2008-08-05 at 09:10 +0300, Eli Cohen wrote:
> > >  
> > > +int ib_create_qp_range(struct ib_pd *pd, struct ib_qp_init_attr *qp_init_attr,
> > > +		       int nqps, int align, struct ib_qp *list[])
> > 
> > It just seems wrong to me to require the caller to specify the alignment
> > restrictions. Isn't this HCA specific?
> I agree with you about this, but since my previous posts on the issue
> did not receive too much attention, I did not want to change my
> implementation before the issue has been discussed.
> 
> >  Is IPoIB really going to know
> > whether or not the QP numbers returned by this call are "aligned"
> > or not? What if I call ib_create_qp_range() with nqps=3 and align=0?
> I am not sure I understand your argument here: in this case you create 3
> consecutive QPs with no other restrictions on the number of of the
> first. 

My point is that I am guessing that the ib_modify_qp() will return
an error unless the QPs are created with the right alignment
but the caller has no way of knowing what the right alignment value
is and it shouldn't need to know since the ib_create_qp_range()
could have an argument or flag which says the created QPs should be
usable for receive affinity. The HCA driver can then use whatever
alignment is needed and mark the QP struct as being part of a group.
The ib_modify_qp() probably only needs a flag to say enable
receive affinity.




More information about the ewg mailing list