On Tue, Apr 15, 2003 at 06:44:50AM +0100, Anticipating a Reply wrote: > I would like to know if the book > UNIX(R) Systems for Modern Architectures: Symmetric > Multiprocessing and Caching for Kernel Programmers > -- by Curt Schimmel > > is recommended for reading to newbies > who are trying to understand SMP systems > running Linux . It is a wonderful book. However, the level of detail may be a little overwhelming as an introduction to data concurrency issues. Sadly, I don't know of a great text to introduce it. So, I suppose the best things to say: (a) Always lock data (b) more than one lock per cache line is a waste, so don't go nuts with locks (c) if you have multiple smaller locks rather than one larger lock, make sure you always acquire and release locks in the same order (d) never do anything that could block or sleep in a spinlock. Use a semaphore instead. Check out Documentation/spinlocks.txt for details on the locking primitives the linux kernel uses. Check out the book by Schimmel for everything else. (And what the hell, try to find Djikstra's first paper on semaphores. It'll be fun. :) -- Join the fight against terrorism by giving up your liberties today!
Attachment:
pgp00367.pgp
Description: PGP signature