[ofa-general] IPOIB CM (NOSRQ)[PATCH V3] patch for review
Pradeep Satyanarayana
pradeep at us.ibm.com
Thu May 3 21:49:40 PDT 2007
Roland Dreier <rdreier at cisco.com> wrote on 05/03/2007 05:16:07 PM:
> > > also I think the RING name is wrong -- it's not a ring, it's a
table,
> > > right? I don't like having a static limit on the number of nosrq
> > > connections; could this be a hash table instead?
> > >
> >
> > I will just call this an array. Nosrq will hog memory and my thought
was
> > that 1024 was pretty large. I envisioned using nosrq for a small
number
> > (maybe a
> > few dozen), and so did not think it was necessary to make this a
module
> > paramater
> > either. What do you suggest?
>
> Maybe make it a hash table of size 32 or 64 or something like that.
> You use less memory in the expected case, and degrade fairly
> gracefully when things get bigger. If you want to get really fancy,
> make it a hash table that you grow when it gets too full.
>
The only time we do a search in the array is to find an empty slot to
store a
pointer to ipoib_cm_rx. This happens upon receipt of a REQ. There are no
other
lookups that we perform. On the receipt of a packet we have the index
encoded in wr_id, and so use that to retrive the ipoib_cm_rx poineter.
We don't need a hash table for this. Could use a head and tail pointer to
reduce the search.
Pradeep
pradeep at us.ibm.com
More information about the general
mailing list