2019-05-19 20:07:45 +08:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
2009-11-09 23:21:34 +08:00
|
|
|
#
|
|
|
|
# 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
|
|
|
|
|
2012-09-10 20:01:16 +08:00
|
|
|
config UNINLINE_SPIN_UNLOCK
|
|
|
|
bool
|
|
|
|
|
2009-11-09 23:21:34 +08:00
|
|
|
#
|
|
|
|
# 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
|
2019-10-16 03:18:18 +08:00
|
|
|
# - DEBUG_SPINLOCK=n and PREEMPTION=n
|
2009-11-09 23:21:34 +08:00
|
|
|
#
|
|
|
|
# unlock_bh and unlock_irqrestore functions are inlined when:
|
|
|
|
# - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
|
|
|
|
#
|
|
|
|
|
2012-09-10 20:01:16 +08:00
|
|
|
if !DEBUG_SPINLOCK
|
|
|
|
|
2009-11-09 23:21:34 +08:00
|
|
|
config INLINE_SPIN_TRYLOCK
|
2012-09-10 20:01:16 +08:00
|
|
|
def_bool y
|
|
|
|
depends on ARCH_INLINE_SPIN_TRYLOCK
|
2009-11-09 23:21:34 +08:00
|
|
|
|
|
|
|
config INLINE_SPIN_TRYLOCK_BH
|
2012-09-10 20:01:16 +08:00
|
|
|
def_bool y
|
|
|
|
depends on ARCH_INLINE_SPIN_TRYLOCK_BH
|
2009-11-09 23:21:34 +08:00
|
|
|
|
|
|
|
config INLINE_SPIN_LOCK
|
2012-09-10 20:01:16 +08:00
|
|
|
def_bool y
|
|
|
|
depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK
|
2009-11-09 23:21:34 +08:00
|
|
|
|
|
|
|
config INLINE_SPIN_LOCK_BH
|
2012-09-10 20:01:16 +08:00
|
|
|
def_bool y
|
|
|
|
depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_BH
|
2009-11-09 23:21:34 +08:00
|
|
|
|
|
|
|
config INLINE_SPIN_LOCK_IRQ
|
2012-09-10 20:01:16 +08:00
|
|
|
def_bool y
|
|
|
|
depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_IRQ
|
2009-11-09 23:21:34 +08:00
|
|
|
|
|
|
|
config INLINE_SPIN_LOCK_IRQSAVE
|
2012-09-10 20:01:16 +08:00
|
|
|
def_bool y
|
|
|
|
depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_IRQSAVE
|
2009-11-09 23:21:34 +08:00
|
|
|
|
|
|
|
config INLINE_SPIN_UNLOCK_BH
|
2012-09-10 20:01:16 +08:00
|
|
|
def_bool y
|
|
|
|
depends on ARCH_INLINE_SPIN_UNLOCK_BH
|
2009-11-09 23:21:34 +08:00
|
|
|
|
|
|
|
config INLINE_SPIN_UNLOCK_IRQ
|
2012-09-10 20:01:16 +08:00
|
|
|
def_bool y
|
2019-10-16 03:18:18 +08:00
|
|
|
depends on !PREEMPTION || ARCH_INLINE_SPIN_UNLOCK_IRQ
|
2009-11-09 23:21:34 +08:00
|
|
|
|
|
|
|
config INLINE_SPIN_UNLOCK_IRQRESTORE
|
2012-09-10 20:01:16 +08:00
|
|
|
def_bool y
|
|
|
|
depends on ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE
|
2009-11-09 23:21:34 +08:00
|
|
|
|
|
|
|
|
|
|
|
config INLINE_READ_TRYLOCK
|
2012-09-10 20:01:16 +08:00
|
|
|
def_bool y
|
|
|
|
depends on ARCH_INLINE_READ_TRYLOCK
|
2009-11-09 23:21:34 +08:00
|
|
|
|
|
|
|
config INLINE_READ_LOCK
|
2012-09-10 20:01:16 +08:00
|
|
|
def_bool y
|
|
|
|
depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK
|
2009-11-09 23:21:34 +08:00
|
|
|
|
|
|
|
config INLINE_READ_LOCK_BH
|
2012-09-10 20:01:16 +08:00
|
|
|
def_bool y
|
|
|
|
depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_BH
|
2009-11-09 23:21:34 +08:00
|
|
|
|
|
|
|
config INLINE_READ_LOCK_IRQ
|
2012-09-10 20:01:16 +08:00
|
|
|
def_bool y
|
|
|
|
depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_IRQ
|
2009-11-09 23:21:34 +08:00
|
|
|
|
|
|
|
config INLINE_READ_LOCK_IRQSAVE
|
2012-09-10 20:01:16 +08:00
|
|
|
def_bool y
|
|
|
|
depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_IRQSAVE
|
2009-11-09 23:21:34 +08:00
|
|
|
|
|
|
|
config INLINE_READ_UNLOCK
|
2012-09-10 20:01:16 +08:00
|
|
|
def_bool y
|
2019-10-16 03:18:18 +08:00
|
|
|
depends on !PREEMPTION || ARCH_INLINE_READ_UNLOCK
|
2009-11-09 23:21:34 +08:00
|
|
|
|
|
|
|
config INLINE_READ_UNLOCK_BH
|
2012-09-10 20:01:16 +08:00
|
|
|
def_bool y
|
|
|
|
depends on ARCH_INLINE_READ_UNLOCK_BH
|
2009-11-09 23:21:34 +08:00
|
|
|
|
|
|
|
config INLINE_READ_UNLOCK_IRQ
|
2012-09-10 20:01:16 +08:00
|
|
|
def_bool y
|
2019-10-16 03:18:18 +08:00
|
|
|
depends on !PREEMPTION || ARCH_INLINE_READ_UNLOCK_IRQ
|
2009-11-09 23:21:34 +08:00
|
|
|
|
|
|
|
config INLINE_READ_UNLOCK_IRQRESTORE
|
2012-09-10 20:01:16 +08:00
|
|
|
def_bool y
|
|
|
|
depends on ARCH_INLINE_READ_UNLOCK_IRQRESTORE
|
2009-11-09 23:21:34 +08:00
|
|
|
|
|
|
|
|
|
|
|
config INLINE_WRITE_TRYLOCK
|
2012-09-10 20:01:16 +08:00
|
|
|
def_bool y
|
|
|
|
depends on ARCH_INLINE_WRITE_TRYLOCK
|
2009-11-09 23:21:34 +08:00
|
|
|
|
|
|
|
config INLINE_WRITE_LOCK
|
2012-09-10 20:01:16 +08:00
|
|
|
def_bool y
|
|
|
|
depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK
|
2009-11-09 23:21:34 +08:00
|
|
|
|
|
|
|
config INLINE_WRITE_LOCK_BH
|
2012-09-10 20:01:16 +08:00
|
|
|
def_bool y
|
|
|
|
depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_BH
|
2009-11-09 23:21:34 +08:00
|
|
|
|
|
|
|
config INLINE_WRITE_LOCK_IRQ
|
2012-09-10 20:01:16 +08:00
|
|
|
def_bool y
|
|
|
|
depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_IRQ
|
2009-11-09 23:21:34 +08:00
|
|
|
|
|
|
|
config INLINE_WRITE_LOCK_IRQSAVE
|
2012-09-10 20:01:16 +08:00
|
|
|
def_bool y
|
|
|
|
depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_IRQSAVE
|
2009-11-09 23:21:34 +08:00
|
|
|
|
|
|
|
config INLINE_WRITE_UNLOCK
|
2012-09-10 20:01:16 +08:00
|
|
|
def_bool y
|
2019-10-16 03:18:18 +08:00
|
|
|
depends on !PREEMPTION || ARCH_INLINE_WRITE_UNLOCK
|
2009-11-09 23:21:34 +08:00
|
|
|
|
|
|
|
config INLINE_WRITE_UNLOCK_BH
|
2012-09-10 20:01:16 +08:00
|
|
|
def_bool y
|
|
|
|
depends on ARCH_INLINE_WRITE_UNLOCK_BH
|
2009-11-09 23:21:34 +08:00
|
|
|
|
|
|
|
config INLINE_WRITE_UNLOCK_IRQ
|
2012-09-10 20:01:16 +08:00
|
|
|
def_bool y
|
2019-10-16 03:18:18 +08:00
|
|
|
depends on !PREEMPTION || ARCH_INLINE_WRITE_UNLOCK_IRQ
|
2009-11-09 23:21:34 +08:00
|
|
|
|
|
|
|
config INLINE_WRITE_UNLOCK_IRQRESTORE
|
2012-09-10 20:01:16 +08:00
|
|
|
def_bool y
|
|
|
|
depends on ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
|
|
|
|
|
|
|
|
endif
|
2009-12-03 03:49:16 +08:00
|
|
|
|
2014-06-07 01:53:16 +08:00
|
|
|
config ARCH_SUPPORTS_ATOMIC_RMW
|
|
|
|
bool
|
|
|
|
|
2009-12-03 03:49:16 +08:00
|
|
|
config MUTEX_SPIN_ON_OWNER
|
2012-09-10 20:01:16 +08:00
|
|
|
def_bool y
|
2016-08-23 19:45:15 +08:00
|
|
|
depends on SMP && ARCH_SUPPORTS_ATOMIC_RMW
|
2014-02-03 20:18:49 +08:00
|
|
|
|
2014-07-12 05:00:06 +08:00
|
|
|
config RWSEM_SPIN_ON_OWNER
|
|
|
|
def_bool y
|
2019-03-22 22:30:07 +08:00
|
|
|
depends on SMP && ARCH_SUPPORTS_ATOMIC_RMW
|
2014-07-12 05:00:06 +08:00
|
|
|
|
2015-01-07 03:45:07 +08:00
|
|
|
config LOCK_SPIN_ON_OWNER
|
|
|
|
def_bool y
|
|
|
|
depends on MUTEX_SPIN_ON_OWNER || RWSEM_SPIN_ON_OWNER
|
|
|
|
|
2015-05-11 15:47:23 +08:00
|
|
|
config ARCH_USE_QUEUED_SPINLOCKS
|
2015-04-25 02:56:30 +08:00
|
|
|
bool
|
|
|
|
|
2015-05-11 15:47:23 +08:00
|
|
|
config QUEUED_SPINLOCKS
|
|
|
|
def_bool y if ARCH_USE_QUEUED_SPINLOCKS
|
2015-04-25 02:56:40 +08:00
|
|
|
depends on SMP
|
2015-04-25 02:56:30 +08:00
|
|
|
|
2019-02-01 07:40:04 +08:00
|
|
|
config BPF_ARCH_SPINLOCK
|
|
|
|
bool
|
|
|
|
|
2015-05-12 01:57:11 +08:00
|
|
|
config ARCH_USE_QUEUED_RWLOCKS
|
2014-02-03 20:18:49 +08:00
|
|
|
bool
|
|
|
|
|
2015-05-12 01:57:11 +08:00
|
|
|
config QUEUED_RWLOCKS
|
|
|
|
def_bool y if ARCH_USE_QUEUED_RWLOCKS
|
2021-08-16 05:28:28 +08:00
|
|
|
depends on SMP && !PREEMPT_RT
|
2019-02-22 20:48:44 +08:00
|
|
|
|
|
|
|
config ARCH_HAS_MMIOWB
|
|
|
|
bool
|
|
|
|
|
|
|
|
config MMIOWB
|
|
|
|
def_bool y if ARCH_HAS_MMIOWB
|
|
|
|
depends on SMP
|