![]() | |||||||||||||
Messages in this thread |
> Roland Dreier <rolandd@cisco.com> wrote: > > > > + spin_lock_irq(&priv->lock); > > + set_bit(IPOIB_MCAST_STARTED, &priv->flags); > > + spin_unlock_irq(&priv->lock); > > Strange to put a lock around an atomic op like that. > > Sometimes it's valid. If another cpu was doing: > > spin_lock(lock); > > if (test_bit(IPOIB_MCAST_STARTED)) > something(); > ... > if (test_bit(IPOIB_MCAST_STARTED)) > something_else(); > > spin_unlock(lock); > > then the locked set_bit() makes sense. > > But often it doesn't ;) Good point. Michael, any reason why the lock is there around the set_bit()? (And similarly for the corresponding clear_bit()) Thanks, Roland - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||||
| Last update: 2006-02-12 02:05 [W:0.472 / U:0.200 seconds] ©2003-2008 Jasper Spaans | |||||||||||||