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

From: Kyle Moffett
Date: Sun Feb 12 2006 - 03:11:34 EST


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------



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/