• Matthew Wilcox's avatar
    [PATCH] parisc: spinlock fixes · 54064592
    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: default avatarJames Bottomley <jejb@parisc-linux.org>
    Committed-by: default avatarThibaut Varene <varenet@parisc-linux.org>
    54064592
bitops.c 1.8 KB