[openib-general] Re: [git patch review 1/4] IPoIB: Don't start send-only joins while multicast thread is stopped

Andrew Morton akpm at osdl.org
Sat Feb 11 14:02:09 PST 2006


Roland Dreier <rolandd at 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 ;)



More information about the general mailing list