[openib-general] understanding mthca_alloc_db()

yipee yipeeyipeeyipeeyipee at yahoo.com
Wed Dec 28 06:16:49 PST 2005


Hi,

I'm trying to understand what's going on inside mthca_alloc_db() (in libmthca/
src/memfree.c).
I understand that this function manages a bitmap-based freelist of doorbells for 
send, receive & completion queues.
Is there a possibility of a memory leak when posix_memalign() steps on a 
previously allocated 'db_tab->page[i].db_rec' (when all of 'db_tab->page[i].
free[j]' is cleared)? isn't 'i' already out of bounds?

The functions defines two types/groups of doorbells. Why are these doorbells 
allocated differently (one group starts at the begining of the array and the 
other at the end)?

Another thing I noticed is that doorbells are different between Tavor and Arbel 
HCA's (e.g. see update_cons_index(). Is it correct that Arbel doorbells are only 
32 bits wide?


thanks,
x






More information about the general mailing list