mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-29 04:09:39 +00:00
![Frederic Weisbecker](/assets/img/avatar_default.png)
Introduce CONFIG_MUTEX_SPIN_ON_OWNER so that we can centralize in a single place the conditions that determine its definition and use. Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Acked-by: Peter Zijlstra <peterz@infradead.org> LKML-Reference: <1259783357-8542-1-git-send-regression-fweisbec@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Cc: Peter Zijlstra <peterz@infradead.org>
202 lines
4.5 KiB
Text
202 lines
4.5 KiB
Text
#
|
|
# The ARCH_INLINE foo is necessary because select ignores "depends on"
|
|
#
|
|
config ARCH_INLINE_SPIN_TRYLOCK
|
|
bool
|
|
|
|
config ARCH_INLINE_SPIN_TRYLOCK_BH
|
|
bool
|
|
|
|
config ARCH_INLINE_SPIN_LOCK
|
|
bool
|
|
|
|
config ARCH_INLINE_SPIN_LOCK_BH
|
|
bool
|
|
|
|
config ARCH_INLINE_SPIN_LOCK_IRQ
|
|
bool
|
|
|
|
config ARCH_INLINE_SPIN_LOCK_IRQSAVE
|
|
bool
|
|
|
|
config ARCH_INLINE_SPIN_UNLOCK
|
|
bool
|
|
|
|
config ARCH_INLINE_SPIN_UNLOCK_BH
|
|
bool
|
|
|
|
config ARCH_INLINE_SPIN_UNLOCK_IRQ
|
|
bool
|
|
|
|
config ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE
|
|
bool
|
|
|
|
|
|
config ARCH_INLINE_READ_TRYLOCK
|
|
bool
|
|
|
|
config ARCH_INLINE_READ_LOCK
|
|
bool
|
|
|
|
config ARCH_INLINE_READ_LOCK_BH
|
|
bool
|
|
|
|
config ARCH_INLINE_READ_LOCK_IRQ
|
|
bool
|
|
|
|
config ARCH_INLINE_READ_LOCK_IRQSAVE
|
|
bool
|
|
|
|
config ARCH_INLINE_READ_UNLOCK
|
|
bool
|
|
|
|
config ARCH_INLINE_READ_UNLOCK_BH
|
|
bool
|
|
|
|
config ARCH_INLINE_READ_UNLOCK_IRQ
|
|
bool
|
|
|
|
config ARCH_INLINE_READ_UNLOCK_IRQRESTORE
|
|
bool
|
|
|
|
|
|
config ARCH_INLINE_WRITE_TRYLOCK
|
|
bool
|
|
|
|
config ARCH_INLINE_WRITE_LOCK
|
|
bool
|
|
|
|
config ARCH_INLINE_WRITE_LOCK_BH
|
|
bool
|
|
|
|
config ARCH_INLINE_WRITE_LOCK_IRQ
|
|
bool
|
|
|
|
config ARCH_INLINE_WRITE_LOCK_IRQSAVE
|
|
bool
|
|
|
|
config ARCH_INLINE_WRITE_UNLOCK
|
|
bool
|
|
|
|
config ARCH_INLINE_WRITE_UNLOCK_BH
|
|
bool
|
|
|
|
config ARCH_INLINE_WRITE_UNLOCK_IRQ
|
|
bool
|
|
|
|
config ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
|
|
bool
|
|
|
|
#
|
|
# lock_* functions are inlined when:
|
|
# - DEBUG_SPINLOCK=n and GENERIC_LOCKBREAK=n and ARCH_INLINE_*LOCK=y
|
|
#
|
|
# trylock_* functions are inlined when:
|
|
# - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
|
|
#
|
|
# unlock and unlock_irq functions are inlined when:
|
|
# - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
|
|
# or
|
|
# - DEBUG_SPINLOCK=n and PREEMPT=n
|
|
#
|
|
# unlock_bh and unlock_irqrestore functions are inlined when:
|
|
# - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
|
|
#
|
|
|
|
config INLINE_SPIN_TRYLOCK
|
|
def_bool !DEBUG_SPINLOCK && ARCH_INLINE_SPIN_TRYLOCK
|
|
|
|
config INLINE_SPIN_TRYLOCK_BH
|
|
def_bool !DEBUG_SPINLOCK && ARCH_INLINE_SPIN_TRYLOCK_BH
|
|
|
|
config INLINE_SPIN_LOCK
|
|
def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK
|
|
|
|
config INLINE_SPIN_LOCK_BH
|
|
def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
|
|
ARCH_INLINE_SPIN_LOCK_BH
|
|
|
|
config INLINE_SPIN_LOCK_IRQ
|
|
def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
|
|
ARCH_INLINE_SPIN_LOCK_IRQ
|
|
|
|
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 INLINE_SPIN_UNLOCK_BH
|
|
def_bool !DEBUG_SPINLOCK && ARCH_INLINE_SPIN_UNLOCK_BH
|
|
|
|
config INLINE_SPIN_UNLOCK_IRQ
|
|
def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_SPIN_UNLOCK_BH)
|
|
|
|
config INLINE_SPIN_UNLOCK_IRQRESTORE
|
|
def_bool !DEBUG_SPINLOCK && ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE
|
|
|
|
|
|
config INLINE_READ_TRYLOCK
|
|
def_bool !DEBUG_SPINLOCK && ARCH_INLINE_READ_TRYLOCK
|
|
|
|
config INLINE_READ_LOCK
|
|
def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK
|
|
|
|
config INLINE_READ_LOCK_BH
|
|
def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
|
|
ARCH_INLINE_READ_LOCK_BH
|
|
|
|
config INLINE_READ_LOCK_IRQ
|
|
def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
|
|
ARCH_INLINE_READ_LOCK_IRQ
|
|
|
|
config INLINE_READ_LOCK_IRQSAVE
|
|
def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
|
|
ARCH_INLINE_READ_LOCK_IRQSAVE
|
|
|
|
config INLINE_READ_UNLOCK
|
|
def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_READ_UNLOCK)
|
|
|
|
config INLINE_READ_UNLOCK_BH
|
|
def_bool !DEBUG_SPINLOCK && ARCH_INLINE_READ_UNLOCK_BH
|
|
|
|
config INLINE_READ_UNLOCK_IRQ
|
|
def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_READ_UNLOCK_BH)
|
|
|
|
config INLINE_READ_UNLOCK_IRQRESTORE
|
|
def_bool !DEBUG_SPINLOCK && ARCH_INLINE_READ_UNLOCK_IRQRESTORE
|
|
|
|
|
|
config INLINE_WRITE_TRYLOCK
|
|
def_bool !DEBUG_SPINLOCK && ARCH_INLINE_WRITE_TRYLOCK
|
|
|
|
config INLINE_WRITE_LOCK
|
|
def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK
|
|
|
|
config INLINE_WRITE_LOCK_BH
|
|
def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
|
|
ARCH_INLINE_WRITE_LOCK_BH
|
|
|
|
config INLINE_WRITE_LOCK_IRQ
|
|
def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
|
|
ARCH_INLINE_WRITE_LOCK_IRQ
|
|
|
|
config INLINE_WRITE_LOCK_IRQSAVE
|
|
def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
|
|
ARCH_INLINE_WRITE_LOCK_IRQSAVE
|
|
|
|
config INLINE_WRITE_UNLOCK
|
|
def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_WRITE_UNLOCK)
|
|
|
|
config INLINE_WRITE_UNLOCK_BH
|
|
def_bool !DEBUG_SPINLOCK && ARCH_INLINE_WRITE_UNLOCK_BH
|
|
|
|
config INLINE_WRITE_UNLOCK_IRQ
|
|
def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_WRITE_UNLOCK_BH)
|
|
|
|
config INLINE_WRITE_UNLOCK_IRQRESTORE
|
|
def_bool !DEBUG_SPINLOCK && ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
|
|
|
|
config MUTEX_SPIN_ON_OWNER
|
|
def_bool SMP && !DEBUG_MUTEXES && !HAVE_DEFAULT_NO_SPIN_MUTEXES
|