[parisc-linux-cvs] linux-2.6 jejb

James Bottomley jejb at parisc-linux.org
Sun Aug 15 08:17:40 MDT 2004


CVSROOT:	/var/cvs
Module name:	linux-2.6
Changes by:	jejb	04/08/15 08:17:39

Modified files:
	.              : Makefile 
	arch/parisc/lib: bitops.c 
	include/asm-parisc: atomic.h bitops.h spinlock.h system.h 

Log message:
Fix SMP f_list corruption problem.

This was rather subtle.  It turns out that gcc was doing a small
amount of reordering around the file_lock because it doesn't see our
spinlock implementation as being a barrier.  To fix this I

- Added the appropriate barriers to all the spinlocks.
- Removed the atomic opencoded spinlock and redid it as a proper one.

SMP now seems stable on a 2xA500 and has survived a 10 hour 35 loop
make -j 4 kernel compile without showing any problems (previously, it
usually fell over in the first loop).



More information about the parisc-linux-cvs mailing list