On Sun, Dec 18, 2011 at 11:09 PM, Eli Cohen <[email protected]> wrote: > Multicast attach/detach operations on a QP are carried under the > readers'/writers' lock of the QP. Such protection is not sufficient since a > reader's lock allows more than one reader to acquire the lock. However, list > manipulation implies write operations on the list variable. Use a spinlock to > provide protection.
Did you consider taking the QP's rwsem for writing across these operations instead? How did that approach compare? Assuming there's some problem with that, would it make sense to put the mcast_lock next to the mcast_list in struct ib_uqp_object, instead of hiding it in struct ib_qp? - R. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
