[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH RFC V6 2/11] x86/ticketlock: don't inline _spin_unlock when using paravirt spinlocks
On 03/21/2012 10:43 PM, Linus Torvalds wrote: On Wed, Mar 21, 2012 at 3:21 AM, Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> wrote:From: Jeremy Fitzhardinge<jeremy.fitzhardinge@xxxxxxxxxx> The code size expands somewhat, and its probably better to just call a function rather than inline it. Signed-off-by: Jeremy Fitzhardinge<jeremy.fitzhardinge@xxxxxxxxxx> Signed-off-by: Raghavendra K T<raghavendra.kt@xxxxxxxxxxxxxxxxxx> --- arch/x86/Kconfig | 3 +++ kernel/Kconfig.locks | 2 +- 2 files changed, 4 insertions(+), 1 deletions(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 5bed94e..10c28ec 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -623,6 +623,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 5068e2a..584637b 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_BHUgh. This is getting really ugly. Agree that it had become longer. Can we just fix it by - getting rid of INLINE_SPIN_UNLOCK entirely - replacing it with UNINLINE_SPIN_UNLOCK instead with the reverse meaning, and no "def_bool" at all, just a simple config UNINLINE_SPIN_UNLOCK bool - make the various people who want to uninline the spinlocks (like spinlock debugging, paravirt etc) all just do select UNINLINE_SPIN_UNLOCK I just posted https://lkml.org/lkml/2012/3/22/94. Please let me know if that looks better. And this patch should now become something like --- diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 5bed94e..2666b7d 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -613,6 +613,7 @@ config PARAVIRT config PARAVIRT_SPINLOCKS bool "Paravirtualization layer for spinlocks" depends on PARAVIRT && SMP && EXPERIMENTAL + select UNINLINE_SPIN_UNLOCK ---help--- Paravirtualized spinlocks allow a pvops backend to replace the spinlock implementation with something virtualization-friendly _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |