Exactly -- cache coherency ensures that things are only modified once by a series of processors, but it doesn't ensure that a given, necessarily atomic sequence of operations is executed by only a single thread of operation. I'm not entirely sure a kernel couldn't be built using only cache coherency to prevent deadlocks. Something like a delegate system where you queue up requests through a single operation seems like it would do, but ultimately, you're just making a complicated mutex at that point. -Phil/CERisE On Mon, Sep 03, 2007 at 04:44:56PM -0500, Robert M. Hyatt wrote: > > what about the kernel? How will it protect itself when multiple > processors execute kernel code??? > > > Robert M. Hyatt, Ph.D. Computer and Information Sciences > hyatt@xxxxxxx University of Alabama at Birmingham > (205) 934-2213 136A Campbell Hall > (205) 934-5473 FAX Birmingham, AL 35294-1170 > > On Mon, 3 Sep 2007, 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. > > > > regards, > > - > > 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 > > > - > 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 - 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