On 9/3/07, Xu Yang <risingsunxy@xxxxxxxxxxxxxx> 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. > Hi, I advice you to read the following book: "UNIX systems for modern architectures: symmetric multiprocessing and caching for kernel programmers" C Schimmel - 1994 - Addison-Wesley Longman Publishing Co., Inc. Boston, MA, USA Best regards, -- Mohamed - To unsubscribe from this list: send the line "unsubscribe linux-smp" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html