281 lines · 5.7 KB · Text
RawDownload
# SPDX-License-Identifier: GPL-2.0-only## 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 config UNINLINE_SPIN_UNLOCK	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 PREEMPTION=n## unlock_bh and unlock_irqrestore functions are inlined when:#   - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y# if !DEBUG_SPINLOCK config INLINE_SPIN_TRYLOCK	def_bool y	depends on ARCH_INLINE_SPIN_TRYLOCK config INLINE_SPIN_TRYLOCK_BH	def_bool y	depends on ARCH_INLINE_SPIN_TRYLOCK_BH config INLINE_SPIN_LOCK	def_bool y	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK config INLINE_SPIN_LOCK_BH	def_bool y	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_BH config INLINE_SPIN_LOCK_IRQ	def_bool y	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_IRQ config INLINE_SPIN_LOCK_IRQSAVE	def_bool y	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_IRQSAVE config INLINE_SPIN_UNLOCK_BH	def_bool y	depends on ARCH_INLINE_SPIN_UNLOCK_BH config INLINE_SPIN_UNLOCK_IRQ	def_bool y	depends on !PREEMPTION || ARCH_INLINE_SPIN_UNLOCK_IRQ config INLINE_SPIN_UNLOCK_IRQRESTORE	def_bool y	depends on ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE  config INLINE_READ_TRYLOCK	def_bool y	depends on ARCH_INLINE_READ_TRYLOCK config INLINE_READ_LOCK	def_bool y	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK config INLINE_READ_LOCK_BH	def_bool y	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_BH config INLINE_READ_LOCK_IRQ	def_bool y	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_IRQ config INLINE_READ_LOCK_IRQSAVE	def_bool y	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_IRQSAVE config INLINE_READ_UNLOCK	def_bool y	depends on !PREEMPTION || ARCH_INLINE_READ_UNLOCK config INLINE_READ_UNLOCK_BH	def_bool y	depends on ARCH_INLINE_READ_UNLOCK_BH config INLINE_READ_UNLOCK_IRQ	def_bool y	depends on !PREEMPTION || ARCH_INLINE_READ_UNLOCK_IRQ config INLINE_READ_UNLOCK_IRQRESTORE	def_bool y	depends on ARCH_INLINE_READ_UNLOCK_IRQRESTORE  config INLINE_WRITE_TRYLOCK	def_bool y	depends on ARCH_INLINE_WRITE_TRYLOCK config INLINE_WRITE_LOCK	def_bool y	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK config INLINE_WRITE_LOCK_BH	def_bool y	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_BH config INLINE_WRITE_LOCK_IRQ	def_bool y	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_IRQ config INLINE_WRITE_LOCK_IRQSAVE	def_bool y	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_IRQSAVE config INLINE_WRITE_UNLOCK	def_bool y	depends on !PREEMPTION || ARCH_INLINE_WRITE_UNLOCK config INLINE_WRITE_UNLOCK_BH	def_bool y	depends on ARCH_INLINE_WRITE_UNLOCK_BH config INLINE_WRITE_UNLOCK_IRQ	def_bool y	depends on !PREEMPTION || ARCH_INLINE_WRITE_UNLOCK_IRQ config INLINE_WRITE_UNLOCK_IRQRESTORE	def_bool y	depends on ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE endif config ARCH_SUPPORTS_ATOMIC_RMW	bool config MUTEX_SPIN_ON_OWNER	def_bool y	depends on SMP && ARCH_SUPPORTS_ATOMIC_RMW config RWSEM_SPIN_ON_OWNER       def_bool y       depends on SMP && ARCH_SUPPORTS_ATOMIC_RMW config LOCK_SPIN_ON_OWNER       def_bool y       depends on MUTEX_SPIN_ON_OWNER || RWSEM_SPIN_ON_OWNER config ARCH_USE_QUEUED_SPINLOCKS	bool config QUEUED_SPINLOCKS	def_bool y if ARCH_USE_QUEUED_SPINLOCKS	depends on SMP config QUEUED_SPINLOCKS_TRACE_CONTENDED_RELEASE	bool "Trace contended_release on queued spinlocks"	depends on QUEUED_SPINLOCKS && TRACEPOINTS	help	  Fire the lock:contended_release tracepoint when a contended queued	  spinlock is released, so it is possible to attribute a contended	  spinlock to its holder. 	  Architectures that can patch the unlock site do this at no cost and	  do not need this option. 	  Everywhere else the check is compiled into queued_spin_unlock() and	  a small cost is paid on every unlock even when the tracepoint is	  disabled: a static-branch NOP and possibly a few more instructions	  to manage a stack frame. 	  Sleeping locks fire lock:contended_release regardless of this option. 	  If unsure, say N. config BPF_ARCH_SPINLOCK	bool config ARCH_USE_QUEUED_RWLOCKS	bool config QUEUED_RWLOCKS	def_bool y if ARCH_USE_QUEUED_RWLOCKS	depends on SMP && !PREEMPT_RT config ARCH_HAS_MMIOWB	bool config MMIOWB	def_bool y if ARCH_HAS_MMIOWB	depends on SMP