Re: mutex vs cache coherency protocol
the kernel executes code on behalf of users all the time. For example,
to queue up I/O requests, to read files, to handle network connections,
to allocate/free memory, to send signals, and a zillion other things.
Many of these operations require modification of something called "a
serially-reusable resource" which is just a fancy name for something
that can only be used by one user at a time. A stall in a men's
restroom is an example. Or, in this case, perhaps it is just a simple
linked list. If two processors were to try to insert or remove (or a
combination of both) things on a list at the same time, race conditions
can arise and the data can become unusable. So we use a spinlock to
prevent multiple processors from modifying the same data structure at
the same time...
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 Tue, 4 Sep 2007, Xu Yang wrote:
> Hi Robert,
>
> could you explain more about it, I am quite interested in this.
>
> thanks,
>
> regards,
>
> Yang
>
>
> 2007/9/3, Robert M. Hyatt <hyatt@xxxxxxxxxxx>:
> >
> > 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
[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]