[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: mutex vs cache coherency protocol



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

[Audio]     [Hams]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Photo]     [Yosemite Photos]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linux Resources]     [Fedora Users]

Add to Google