> Roland Dreier <[EMAIL PROTECTED]> 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
_______________________________________________
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to