[openib-general] Serialization in ib_uverbs

Roland Dreier rdreier at cisco.com
Mon Jun 5 13:36:03 PDT 2006


    Boyd> I have a question about the intent of the mutex lock
    Boyd> ib_uverbs_idr_mutex used in kernel interface from user
    Boyd> libraries.  It appears to be a lock on the idr linked lists
    Boyd> but as a great many, if not all, of the ib_uverbs commands
    Boyd> grab the mutex at the start of the function and hold it to
    Boyd> the end, it acts to serialize all the library accesses to
    Boyd> the kernel.  Is this intended?

Yes, when I first implemented things it made things a lot easier to
serialize things.  For example holding the mutex during the entire
process of creating a QP prevents the associated CQs from being
destroyed in the middle of the operation.

It does seem to be a scalability problem for some devices/workloads,
and Robert Walsh from qlogic was planning on looking at this
(replacing the mutex with a reference counting scheme).  I don't know
if he's started on this or not.

 - R.




More information about the general mailing list