-
Matthew Wilcox authored
- 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). - Since we have one or two users who don't want SMP, make the code base compile for UP again ... - missing parenthesis for pointer dereferencing Committed-by: James Bottomley <jejb@parisc-linux.org> Committed-by: Thibaut Varene <varenet@parisc-linux.org>
54064592