• Paul Mackerras's avatar
    [PATCH] Fix PPC rwlock code on SMP · b060c521
    Paul Mackerras authored
    Currently, the kernel won't compile for SMP ppc32 if preempt is
    enabled.  This patch adds suitable read_can_lock and write_can_lock
    definitions.
    
    This patch also adds a real _raw_read_trylock (inline and out-of-line
    versions), changes the rwlock->lock field to a signed int, which is
    what it really was all along, and cleans up the out-of-line rwlock
    code in arch/ppc/lib/locks.c.  It removes the debug fields from the
    rwlock struct because we were never using them, even with
    CONFIG_DEBUG_SPINLOCK set.
    
    I have compile and boot tested this with the four combinations of
    CONFIG_DEBUG_SPINLOCKS on and off, and CONFIG_PREEMPT on and off.
    Please put this patch into 2.6.11 so that 2.6.11 will work for
    ppc32 with CONFIG_SMP and CONFIG_PREEMPT.
    Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    b060c521
spinlock.h 4.12 KB