Roland Dreier wrote: > Hmm, good point. > > It sort of seems to me like the idr interfaces are broken by design. > Internally, lib/idr.c uses bare spin_lock(&idp->lock) with no > interrupt disabling or anything in both the idr_pre_get() and > idr_get_new() code paths.
I wasn't thrilled to see that either. We seem to have a fair precedent (list.h, rbtree, etc) for leaving serialization to callers. > So, ugh... maybe the best thing to do is change lib/idr.c to use > spin_lock_irqsave() internally? I dunno, it seems to have had _irq() locking in the past? From the comment at the top: * Modified by George Anzinger to reuse immediately and to use * find bit instructions. Also removed _irq on spinlocks. - z _______________________________________________ openib-general mailing list [email protected] http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
