> -----Original Message----- > From: linux-rdma-ow...@vger.kernel.org [mailto:linux-rdma- > ow...@vger.kernel.org] On Behalf Of Or Gerlitz > Sent: Thursday, April 11, 2013 4:09 PM > To: Hefty, Sean > Cc: rol...@kernel.org; linux-rdma@vger.kernel.org; > shlo...@mellanox.com; Tzahi Oved > Subject: Re: [PATCH V4 for-next 1/5] IB/core: Add RSS and TSS QP groups > > On Thu, Apr 11, 2013 at 5:45 PM, Hefty, Sean <sean.he...@intel.com> wrote: > [...] > >> but lets get there after hopefully agreeing what is RSS QP group. > > > So far, this is what I think it is: > > - a collection of related receive queues > > - each queue is configured somewhat separately - i.e. sized, CQ, sge size, > etc. > > - receives are posted to the queues separately > > - the queues are allocated together > > > > This is where it gets confusing. They're allocated together, but > > through separate API calls. > > I'm not sure if they share states or not. Can all of them but one go > > into the error state > and still receive data? Do packets get routed to > whichever queue actually works, or do > packets sometimes get dropped, > but sometimes don't, depending on some local rules > which have been > programmed into the HCA? Can the queues really be destroyed > independently? > > We only require (== implemented that) for the verbs level to mandate for > the RSS parent not to be destroyed before ANY of the RSS childs is destroyed > and be placed to action only after ALL RSS childs are created. The queues > (RSS childs can be destroyed independently after the parent is destroyed, > yes. > > RSS child QPs are plain UD or RAW Packet QPs that only have consecutive > QPNs which is common requirement of HW for configuring the RSS parent > which in networking is called the RSS indirection or dispatching QP. You can > send and receive on them.
How do you ensure that the QPN's are consecutive? > > If an RSS child goes to the error state it will not receive data. If you transition it back to RTS would it start working again? Could you remove it and add a new one? (I guess not because the new QPN would likely not be consecutive.) > > Packets are routed to RSS childs only per the hash function output, not per > the state of that child. So if the QP chosen by the hash is in error state the packets get lost? Above you said they would not receive data. Ira > > This design doesn't allow for an app to do DoS attack on the HW either if they > try that out or just have a bug, but does require them to think out their code > (design/review/test) - fair enough. RSS exists in almost any Ethernet NIC you > take from the shelf, and works in the manner I explained here, e.g if one of > the Ethernet RSS child queues isn't functional packets hashed to it will not > be > received > > > Is it even necessary to treat the receive queues as being independent? > What happens > if they're allocated, destroyed, and modified as a single > entity? > [...] > > can you elaborate/explain the question a little more? > > Or. > -- > To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the > body of a message to majord...@vger.kernel.org More majordomo info at > http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html