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

Kyle Moffett mrmacman_g4 at mac.com
Sun Feb 12 00:13:02 PST 2006


On Feb 12, 2006, at 02:50, Michael S. Tsirkin wrote:
> Basically, its as Andrew said: the lock around clear_bit is there  
> to ensure that ipoib_mcast_send isnt running already when we stop  
> the thread.  Thats why test_bit has to be inside the lock, too.

Looks like you guys could use nonatomic versions to improve bus  
efficiency slightly, but they appear to be relying on the fact that  
when the function calling set_bit() returns, the multicast thread  
will be guaranteed to be finished and never run again.  The set_bit()  
can only happen when the thread is not doing work (due to the lock),  
and since the thread firsts checks the bit before doing any work, it  
provides more guarantees than just the atomics would.

Cheers,
Kyle Moffett

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCM/CS/IT/E/U d- s++: a18 C++++>$ ULBX*++++(+++)>$ P++++(+++)>$ L++++ 
(+++)>$ !E- W+++(++) N+++(++) o? K? w--- O? M++ V? PS+() PE+(-) Y+ PGP 
+ t+(+++) 5 X R? !tv-(--) b++++(++) DI+(++) D+++ G e>++++$ h*(+)>++$ r 
%(--)  !y?-(--)
------END GEEK CODE BLOCK------






More information about the general mailing list