[openib-general] Re: [git patch review 1/4] IPoIB: Don't start send-only joins while multicast thread is stopped
Michael S. Tsirkin
mst at mellanox.co.il
Sun Feb 12 08:56:57 PST 2006
Quoting r. Roland Dreier <rdreier at cisco.com>:
> Subject: Re: [openib-general] Re: [git patch review 1/4] IPoIB: Don't start send-only joins while multicast thread is stopped
>
> Michael> Basically, its as Andrew said: the lock around clear_bit
> Michael> is there to ensure that ipoib_mcast_send isnt running
> Michael> already when we stop the thread. Thats why test_bit has
> Michael> to be inside the lock, too.
>
> Makes sense I guess. If I'm understanding correctly, the lock isn't
> really there to serialize the bit ops, but rather to make sure
> ipoib_mcast_send() won't do anything after we clear the bit.
Right. Thats one way to put it.
> Does that mean that there's no reason to take the lock around the set_bit()?
Ugh, sorry, I dont really remember why I put it there.
I guess I just have easier time reasoning about locks than barriers and atomic
operations. "bit is protected by priv->lock" is a simple rule, and we are not on
data path here. The fact that the race went unnoticed for a while validates
this approach in my eyes.
I guess longer term we will replace mcast_mutex with priv->lock anyway, so it
doesnt matter much.
--
Michael S. Tsirkin
Staff Engineer, Mellanox Technologies
More information about the general
mailing list