[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