From 5aba0deebf8d8715858d8a8f1112b9ac7451b062 Mon Sep 17 00:00:00 2001 From: Raghavendra K T Date: Thu, 22 Mar 2012 15:25:08 +0530 Subject: [PATCH] --- yaml --- r: 297399 b: refs/heads/master c: e335e3eb82dada2765297f6ba501afc7555aba10 h: refs/heads/master i: 297397: 4a865a055b18cb83d63578f342c8ed35a02dc636 297395: 6ff28295fb19435a5e3c2612c9cc03e3b061028c 297391: dc6e124c97fe580e1aed7a88612c71f04815ae52 v: v3 --- [refs] | 2 +- trunk/arch/mips/configs/db1300_defconfig | 2 +- trunk/arch/xtensa/configs/iss_defconfig | 2 +- trunk/include/linux/spinlock_api_smp.h | 2 +- trunk/kernel/Kconfig.locks | 4 ++-- trunk/kernel/Kconfig.preempt | 1 + trunk/kernel/spinlock.c | 2 +- trunk/lib/Kconfig.debug | 1 + 8 files changed, 9 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index 55386efad1e0..293511c9407d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 280fb016bfb098f33df96016cfaa840db77ba2d0 +refs/heads/master: e335e3eb82dada2765297f6ba501afc7555aba10 diff --git a/trunk/arch/mips/configs/db1300_defconfig b/trunk/arch/mips/configs/db1300_defconfig index c38b190151c4..3590ab5d9791 100644 --- a/trunk/arch/mips/configs/db1300_defconfig +++ b/trunk/arch/mips/configs/db1300_defconfig @@ -133,7 +133,7 @@ CONFIG_BLK_DEV_BSG=y CONFIG_IOSCHED_NOOP=y CONFIG_DEFAULT_NOOP=y CONFIG_DEFAULT_IOSCHED="noop" -CONFIG_INLINE_SPIN_UNLOCK=y +# CONFIG_UNINLINE_SPIN_UNLOCK is not set CONFIG_INLINE_SPIN_UNLOCK_IRQ=y CONFIG_INLINE_READ_UNLOCK=y CONFIG_INLINE_READ_UNLOCK_IRQ=y diff --git a/trunk/arch/xtensa/configs/iss_defconfig b/trunk/arch/xtensa/configs/iss_defconfig index f932b30b47fb..ddab37b24741 100644 --- a/trunk/arch/xtensa/configs/iss_defconfig +++ b/trunk/arch/xtensa/configs/iss_defconfig @@ -113,7 +113,7 @@ CONFIG_DEFAULT_IOSCHED="noop" # CONFIG_INLINE_SPIN_LOCK_BH is not set # CONFIG_INLINE_SPIN_LOCK_IRQ is not set # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set -CONFIG_INLINE_SPIN_UNLOCK=y +# CONFIG_UNINLINE_SPIN_UNLOCK is not set # CONFIG_INLINE_SPIN_UNLOCK_BH is not set CONFIG_INLINE_SPIN_UNLOCK_IRQ=y # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set diff --git a/trunk/include/linux/spinlock_api_smp.h b/trunk/include/linux/spinlock_api_smp.h index e253ccd7a604..51df117abe46 100644 --- a/trunk/include/linux/spinlock_api_smp.h +++ b/trunk/include/linux/spinlock_api_smp.h @@ -67,7 +67,7 @@ _raw_spin_unlock_irqrestore(raw_spinlock_t *lock, unsigned long flags) #define _raw_spin_trylock_bh(lock) __raw_spin_trylock_bh(lock) #endif -#ifdef CONFIG_INLINE_SPIN_UNLOCK +#ifndef CONFIG_UNINLINE_SPIN_UNLOCK #define _raw_spin_unlock(lock) __raw_spin_unlock(lock) #endif diff --git a/trunk/kernel/Kconfig.locks b/trunk/kernel/Kconfig.locks index 5068e2a4e75f..2251882daf53 100644 --- a/trunk/kernel/Kconfig.locks +++ b/trunk/kernel/Kconfig.locks @@ -124,8 +124,8 @@ config INLINE_SPIN_LOCK_IRQSAVE def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \ ARCH_INLINE_SPIN_LOCK_IRQSAVE -config INLINE_SPIN_UNLOCK - def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_SPIN_UNLOCK) +config UNINLINE_SPIN_UNLOCK + bool config INLINE_SPIN_UNLOCK_BH def_bool !DEBUG_SPINLOCK && ARCH_INLINE_SPIN_UNLOCK_BH diff --git a/trunk/kernel/Kconfig.preempt b/trunk/kernel/Kconfig.preempt index 24e7cb0ba26a..3f9c97419f02 100644 --- a/trunk/kernel/Kconfig.preempt +++ b/trunk/kernel/Kconfig.preempt @@ -36,6 +36,7 @@ config PREEMPT_VOLUNTARY config PREEMPT bool "Preemptible Kernel (Low-Latency Desktop)" select PREEMPT_COUNT + select UNINLINE_SPIN_UNLOCK if !ARCH_INLINE_SPIN_UNLOCK help This option reduces the latency of the kernel by making all kernel code (that is not executing in a critical section) diff --git a/trunk/kernel/spinlock.c b/trunk/kernel/spinlock.c index 84c7d96918bf..5cdd8065a3ce 100644 --- a/trunk/kernel/spinlock.c +++ b/trunk/kernel/spinlock.c @@ -163,7 +163,7 @@ void __lockfunc _raw_spin_lock_bh(raw_spinlock_t *lock) EXPORT_SYMBOL(_raw_spin_lock_bh); #endif -#ifndef CONFIG_INLINE_SPIN_UNLOCK +#ifdef CONFIG_UNINLINE_SPIN_UNLOCK void __lockfunc _raw_spin_unlock(raw_spinlock_t *lock) { __raw_spin_unlock(lock); diff --git a/trunk/lib/Kconfig.debug b/trunk/lib/Kconfig.debug index 05037dc9bde7..f32a41f2a82a 100644 --- a/trunk/lib/Kconfig.debug +++ b/trunk/lib/Kconfig.debug @@ -499,6 +499,7 @@ config RT_MUTEX_TESTER config DEBUG_SPINLOCK bool "Spinlock and rw-lock debugging: basic checks" depends on DEBUG_KERNEL + select UNINLINE_SPIN_UNLOCK help Say Y here and build SMP to catch missing spinlock initialization and certain other kinds of spinlock errors commonly made. This is