> I guess CQ spinlock implies rcu_read_lock - is that right? > But I do not see any synchronize_rcu calls anywhere in mlx4. > Should destroy QP and friends call synchronize_rcu after > removing the QP from radix tree but before freeing the QP structure?
Well, I don't think we're really trying to use RCU to synchronize the radix tree. It's the same locking scheme as in mthca, except without the home-grown sparse array stuff: we have a qp table lock that protects inserting and removing QPs, and then we use the CQ locks to avoid looking up a QP that is being removed. However, I think you're right: we do violate the radix tree locking rules. So maybe we need to fall back to our own homegrown array stuff as in mthca. _______________________________________________ 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
