Messages in this thread | | | Subject | Re: [git patch review 1/4] IPoIB: Don't start send-only joins while multicast thread is stopped | From | Roland Dreier <> | Date | Sat, 11 Feb 2006 18:03:18 -0800 |
| |
> 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/
| |