Re: mutex vs cache coherency protocol

"Mohamed Bamakhrama" <[email protected]> Tue, 4 Sep 2007 00:54:44 +0200
Newsgroups org.kernel.vger.linux-smp
Message-ID <[email protected]>
On 9/3/07, Xu Yang <[email protected]> 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