aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@goop.org>2011-09-02 14:21:05 -0700
committerJeremy Fitzhardinge <jeremy@goop.org>2011-11-25 10:46:22 -0800
commit44aaa680c159bdfb826c13ac3d9985038e3c79eb (patch)
tree1ff10a4f1a2d0c4ba6ccef015ed8b4ef02d9a41f
parent5ae7f74fc4b8724362240bd378c9bf4b56b07397 (diff)
downloadxen-44aaa680c159bdfb826c13ac3d9985038e3c79eb.tar.gz
x86/ticketlock: don't inline _spin_unlock when using paravirt spinlocks
The code size expands somewhat, and its probably better to just call a function rather than inline it. Signed-off-by: Jeremy Fitzhardinge <jeremy@goop.org>
-rw-r--r--arch/x86/Kconfig3
-rw-r--r--kernel/Kconfig.locks2
2 files changed, 4 insertions, 1 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 6a47bb22657fd..1f03f8211bb74 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -585,6 +585,9 @@ config PARAVIRT_SPINLOCKS
If you are unsure how to answer this question, answer N.
+config ARCH_NOINLINE_SPIN_UNLOCK
+ def_bool PARAVIRT_SPINLOCKS
+
config PARAVIRT_CLOCK
bool
diff --git a/kernel/Kconfig.locks b/kernel/Kconfig.locks
index 5068e2a4e75f0..584637b21fc1a 100644
--- a/kernel/Kconfig.locks
+++ b/kernel/Kconfig.locks
@@ -125,7 +125,7 @@ config INLINE_SPIN_LOCK_IRQSAVE
ARCH_INLINE_SPIN_LOCK_IRQSAVE
config INLINE_SPIN_UNLOCK
- def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_SPIN_UNLOCK)
+ def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_SPIN_UNLOCK) && !ARCH_NOINLINE_SPIN_UNLOCK
config INLINE_SPIN_UNLOCK_BH
def_bool !DEBUG_SPINLOCK && ARCH_INLINE_SPIN_UNLOCK_BH