]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
um: Use RWSEM_GENERIC_SPINLOCK on x86
authorRichard Weinberger <richard@nod.at>
Mon, 23 May 2011 20:51:33 +0000 (22:51 +0200)
committerPaul Gortmaker <paul.gortmaker@windriver.com>
Wed, 16 Jan 2013 21:45:09 +0000 (16:45 -0500)
commit 3a3679078aed2c451ebc32836bbd3b8219a65e01 upstream.

Commit d12337 (rwsem: Remove redundant asmregparm annotation)
broke rwsem on UML.

As we cannot compile UML with -mregparm=3 and keeping asmregparm only
for UML is inadequate the easiest solution is using RWSEM_GENERIC_SPINLOCK.

Thanks to Thomas Gleixner for the idea.

Reported-by: Toralf Förster <toralf.foerster@gmx.de>
Tested-by: Toralf Förster <toralf.foerster@gmx.de>
Signed-off-by: Richard Weinberger <richard@nod.at>
Cc: user-mode-linux-devel@lists.sourceforge.net
Link: http://lkml.kernel.org/r/%3C1306183893-26655-1-git-send-email-richard%40nod.at%3E
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
arch/um/Kconfig.x86

index 5ee328099c6359ae721f919ba554ba53e7052551..91668e1bceb1236428c14fd3e850811bd5074f38 100644 (file)
@@ -20,10 +20,10 @@ config X86_32
        select HAVE_AOUT
 
 config RWSEM_XCHGADD_ALGORITHM
-       def_bool X86_XADD
+       def_bool X86_XADD && 64BIT
 
 config RWSEM_GENERIC_SPINLOCK
-       def_bool !X86_XADD
+       def_bool !RWSEM_XCHGADD_ALGORITHM
 
 config 3_LEVEL_PGTABLES
        bool "Three-level pagetables (EXPERIMENTAL)" if !64BIT