[ofa-general] Re: IPOIB CM (NOSRQ)[PATCH V3] patch for review
Michael S. Tsirkin
mst at dev.mellanox.co.il
Wed May 2 20:55:47 PDT 2007
> > > + if (ipoib_cm_post_receive(dev, i << 32 | index)) {
> >
> > 1. It seems there are multiple QPs mapped to a single CQ -
> > and each gets ipoib_recvq_size recv WRs above.
> > Is that right? How do you prevent CQ overrun then?
>
> Good point! Looking at the IB spec it appears that upon CQ overflow
> it results in a Local Work Queue catastrophic error and puts the QP
> (receiver side) in an error state.
Look further in spec - you get CQ error, too.
> Hence, I am speculating that the
> sending side will see an error. This will result in the sending side
> destroying the QP and sending a DREQ message which, will remove the
> receive side QP.
>
> A new set of QPs will be created on the send side (this is RC) and
> the connection setup starts over again. It will continue, but at a
> degraded rate.
> Is this correct? What other alternative do you suggest
> -create a CQ per QP? Is the max number of CQs an issue to consider, if
> we adopt this approach?
We were switching to NAPI though, and NAPI kind of forces you to use
a common CQ, I think.
--
MST
More information about the general
mailing list