Weiny, Ira <ira.we...@intel.com> wrote:
>> ow...@vger.kernel.org] On Behalf Of Or Gerlitz


>> 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?

Quoting from this patch change-log:

<start "A QP group is a set of QPs consists of a parent QP and two disjoint sets
of RSS and TSS QPs. The creation of a QP group is a two stage process:

In the the 1st stage, the parent QP is created.

In the 2nd stage the children QPs of the parent are created.

Each child QP indicates if its a RSS or TSS QP. Both the TSS
and RSS sets of QPs should have contiguous QP numbers." end>

When the parent is created we (the driver) are being told by the
consumer (providing instance of struct  ib_qpg_init_attrib) how many
child QPs they would need, so we can internally act up front and make
sure there's a consecutive chain of QPNs reserved for that group.

>> 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?

YES

> Could you remove it and add a new one?  (I guess not because the new QPN
> would likely not be consecutive.)

NO, its disallowed to destroy any of the child QPs as long as  the
parent is there, quoting from the change log:

<start "It is forbidden to modify parent QP state before all RSS/TSS children
were created. In the same manner it is disallowed to destroy the parent
QP unless all RSS/TSS children were destroyed." end>

>> 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.

indeed, get lost, which means data will not be received, not sure I am
following what isn't aligned to what I said in that above comment.

Actually these comments and questions on the series come just a week
before the annual OFA gathering, personally, I will not be there nor
Shlomo who is the author of the patches, but Tzahi Oved from Mellanox
who lead the architecture for the QP group concept is planned to
attend and same for Sean, Roland and I hope you (Ira) too, same for
Ali Ayoub and Liran Liss from Mellanox who are attending too, all in
all, nice quorum to get into a room and do white boarding, open
discussion, laughing, yelling and what ever needed to get a consensus.

It would be good if a BOF would be set to discuss the QP groups
concept and how to proceed with getting the verbs layer to support
RSS/TSS so we can finally

1. embed them within the verbs language
2. support MQ/RSS in the IPoIB network driver

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

Reply via email to