Roland Dreier <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED] _______________________________________________ general mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
