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_BH Ugh. This is getting really ugly. 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 because quite frankly, the whole spinunlock inlining logic is *already* unreadable, and you just made it worse. Linus -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html