[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