[PATCH v2] locking/Kconfig: Don't forcefully uninline spin_unlock for PREEMPT

From: Sultan Alsawaf
Date: Sat May 30 2020 - 01:15:11 EST


From: Sultan Alsawaf <sultan@xxxxxxxxxxxxxxx>

This change was originally done in 2005 without any justification in
commit bda98685b855 ("[PATCH] x86: inline spin_unlock if
!CONFIG_DEBUG_SPINLOCK and !CONFIG_PREEMPT"). Perhaps the reasoning at
the time was that PREEMPT was still considered unstable and needed extra
debugging; however, this is no longer the case, so remove the artificial
limitation.

Signed-off-by: Sultan Alsawaf <sultan@xxxxxxxxxxxxxxx>
---
kernel/Kconfig.locks | 10 +++++-----
kernel/Kconfig.preempt | 1 -
2 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/kernel/Kconfig.locks b/kernel/Kconfig.locks
index 3de8fd11873b..2d992f5c6ec3 100644
--- a/kernel/Kconfig.locks
+++ b/kernel/Kconfig.locks
@@ -139,7 +139,7 @@ config INLINE_SPIN_UNLOCK_BH

config INLINE_SPIN_UNLOCK_IRQ
def_bool y
- depends on !PREEMPTION || ARCH_INLINE_SPIN_UNLOCK_IRQ
+ depends on ARCH_INLINE_SPIN_UNLOCK_IRQ

config INLINE_SPIN_UNLOCK_IRQRESTORE
def_bool y
@@ -168,7 +168,7 @@ config INLINE_READ_LOCK_IRQSAVE

config INLINE_READ_UNLOCK
def_bool y
- depends on !PREEMPTION || ARCH_INLINE_READ_UNLOCK
+ depends on ARCH_INLINE_READ_UNLOCK

config INLINE_READ_UNLOCK_BH
def_bool y
@@ -176,7 +176,7 @@ config INLINE_READ_UNLOCK_BH

config INLINE_READ_UNLOCK_IRQ
def_bool y
- depends on !PREEMPTION || ARCH_INLINE_READ_UNLOCK_IRQ
+ depends on ARCH_INLINE_READ_UNLOCK_IRQ

config INLINE_READ_UNLOCK_IRQRESTORE
def_bool y
@@ -205,7 +205,7 @@ config INLINE_WRITE_LOCK_IRQSAVE

config INLINE_WRITE_UNLOCK
def_bool y
- depends on !PREEMPTION || ARCH_INLINE_WRITE_UNLOCK
+ depends on ARCH_INLINE_WRITE_UNLOCK

config INLINE_WRITE_UNLOCK_BH
def_bool y
@@ -213,7 +213,7 @@ config INLINE_WRITE_UNLOCK_BH

config INLINE_WRITE_UNLOCK_IRQ
def_bool y
- depends on !PREEMPTION || ARCH_INLINE_WRITE_UNLOCK_IRQ
+ depends on ARCH_INLINE_WRITE_UNLOCK_IRQ

config INLINE_WRITE_UNLOCK_IRQRESTORE
def_bool y
diff --git a/kernel/Kconfig.preempt b/kernel/Kconfig.preempt
index bf82259cff96..5a9e0409c844 100644
--- a/kernel/Kconfig.preempt
+++ b/kernel/Kconfig.preempt
@@ -39,7 +39,6 @@ config PREEMPT
bool "Preemptible Kernel (Low-Latency Desktop)"
depends on !ARCH_NO_PREEMPT
select PREEMPTION
- 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)
--
2.26.2