Messages in this thread | | | Date | Tue, 04 Sep 2007 08:59:41 -0400 | From | Chris Snook <> | Subject | Re: mutex vs cache coherency protocol(for multiprocessor ) |
| |
Xu Yang wrote: > Hello everyone, > > Just got a rough question in my head. > > don't know whether anyone interested . > > mutex vs cache coherency protocol(for multiprocessor) > > both of these two can be used to protect shared resource in the memory. > > are both of them necessary? > > for example: > > in a multiprocessor system, if there is only mutex no cache coherency. > obviously this would cause problem. > > what about there is no mutex mechanism, only cache coherency protocol > in multiprocessor system? after consideration, I found this also could > casue problem, when the processors are multithreading processors, > which means more than one threads can be running on one processor. in > this case if we only have cache coherency and no mutex, this would > cause problem. because all the threads running on one processor share > one cache, the cache coherency protocol can not be functioning > anymore. the shrared resource could be crashed by different threads. > > then if all the processors in the multiprocessor system are sigle > thread processor, only one thread can be running one one processor. is > it ok, if we only have cache coherency protocol ,no mutex mechanism? > > anyone has any idea? all the comments are welcome and appreciated, > including criticism.
Cache coherency is necessary for SMP locking primitives (and thus Linux SMP support), but it is hardly sufficient. Take a look at all the exciting inline assembly in include/asm/ for spinlocks, atomic operations, etc.
-- Chris - 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/
| |