linux/kernel/Kconfig.locks
<<
>>
Prefs
   1#
   2# The ARCH_INLINE foo is necessary because select ignores "depends on"
   3#
   4config ARCH_INLINE_SPIN_TRYLOCK
   5        bool
   6
   7config ARCH_INLINE_SPIN_TRYLOCK_BH
   8        bool
   9
  10config ARCH_INLINE_SPIN_LOCK
  11        bool
  12
  13config ARCH_INLINE_SPIN_LOCK_BH
  14        bool
  15
  16config ARCH_INLINE_SPIN_LOCK_IRQ
  17        bool
  18
  19config ARCH_INLINE_SPIN_LOCK_IRQSAVE
  20        bool
  21
  22config ARCH_INLINE_SPIN_UNLOCK
  23        bool
  24
  25config ARCH_INLINE_SPIN_UNLOCK_BH
  26        bool
  27
  28config ARCH_INLINE_SPIN_UNLOCK_IRQ
  29        bool
  30
  31config ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE
  32        bool
  33
  34
  35config ARCH_INLINE_READ_TRYLOCK
  36        bool
  37
  38config ARCH_INLINE_READ_LOCK
  39        bool
  40
  41config ARCH_INLINE_READ_LOCK_BH
  42        bool
  43
  44config ARCH_INLINE_READ_LOCK_IRQ
  45        bool
  46
  47config ARCH_INLINE_READ_LOCK_IRQSAVE
  48        bool
  49
  50config ARCH_INLINE_READ_UNLOCK
  51        bool
  52
  53config ARCH_INLINE_READ_UNLOCK_BH
  54        bool
  55
  56config ARCH_INLINE_READ_UNLOCK_IRQ
  57        bool
  58
  59config ARCH_INLINE_READ_UNLOCK_IRQRESTORE
  60        bool
  61
  62
  63config ARCH_INLINE_WRITE_TRYLOCK
  64        bool
  65
  66config ARCH_INLINE_WRITE_LOCK
  67        bool
  68
  69config ARCH_INLINE_WRITE_LOCK_BH
  70        bool
  71
  72config ARCH_INLINE_WRITE_LOCK_IRQ
  73        bool
  74
  75config ARCH_INLINE_WRITE_LOCK_IRQSAVE
  76        bool
  77
  78config ARCH_INLINE_WRITE_UNLOCK
  79        bool
  80
  81config ARCH_INLINE_WRITE_UNLOCK_BH
  82        bool
  83
  84config ARCH_INLINE_WRITE_UNLOCK_IRQ
  85        bool
  86
  87config ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
  88        bool
  89
  90config UNINLINE_SPIN_UNLOCK
  91        bool
  92
  93#
  94# lock_* functions are inlined when:
  95#   - DEBUG_SPINLOCK=n and GENERIC_LOCKBREAK=n and ARCH_INLINE_*LOCK=y
  96#
  97# trylock_* functions are inlined when:
  98#   - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
  99#
 100# unlock and unlock_irq functions are inlined when:
 101#   - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
 102#  or
 103#   - DEBUG_SPINLOCK=n and PREEMPT=n
 104#
 105# unlock_bh and unlock_irqrestore functions are inlined when:
 106#   - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
 107#
 108
 109if !DEBUG_SPINLOCK
 110
 111config INLINE_SPIN_TRYLOCK
 112        def_bool y
 113        depends on ARCH_INLINE_SPIN_TRYLOCK
 114
 115config INLINE_SPIN_TRYLOCK_BH
 116        def_bool y
 117        depends on ARCH_INLINE_SPIN_TRYLOCK_BH
 118
 119config INLINE_SPIN_LOCK
 120        def_bool y
 121        depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK
 122
 123config INLINE_SPIN_LOCK_BH
 124        def_bool y
 125        depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_BH
 126
 127config INLINE_SPIN_LOCK_IRQ
 128        def_bool y
 129        depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_IRQ
 130
 131config INLINE_SPIN_LOCK_IRQSAVE
 132        def_bool y
 133        depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_IRQSAVE
 134
 135config INLINE_SPIN_UNLOCK_BH
 136        def_bool y
 137        depends on ARCH_INLINE_SPIN_UNLOCK_BH
 138
 139config INLINE_SPIN_UNLOCK_IRQ
 140        def_bool y
 141        depends on !PREEMPT || ARCH_INLINE_SPIN_UNLOCK_IRQ
 142
 143config INLINE_SPIN_UNLOCK_IRQRESTORE
 144        def_bool y
 145        depends on ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE
 146
 147
 148config INLINE_READ_TRYLOCK
 149        def_bool y
 150        depends on ARCH_INLINE_READ_TRYLOCK
 151
 152config INLINE_READ_LOCK
 153        def_bool y
 154        depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK
 155
 156config INLINE_READ_LOCK_BH
 157        def_bool y
 158        depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_BH
 159
 160config INLINE_READ_LOCK_IRQ
 161        def_bool y
 162        depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_IRQ
 163
 164config INLINE_READ_LOCK_IRQSAVE
 165        def_bool y
 166        depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_IRQSAVE
 167
 168config INLINE_READ_UNLOCK
 169        def_bool y
 170        depends on !PREEMPT || ARCH_INLINE_READ_UNLOCK
 171
 172config INLINE_READ_UNLOCK_BH
 173        def_bool y
 174        depends on ARCH_INLINE_READ_UNLOCK_BH
 175
 176config INLINE_READ_UNLOCK_IRQ
 177        def_bool y
 178        depends on !PREEMPT || ARCH_INLINE_READ_UNLOCK_IRQ
 179
 180config INLINE_READ_UNLOCK_IRQRESTORE
 181        def_bool y
 182        depends on ARCH_INLINE_READ_UNLOCK_IRQRESTORE
 183
 184
 185config INLINE_WRITE_TRYLOCK
 186        def_bool y
 187        depends on ARCH_INLINE_WRITE_TRYLOCK
 188
 189config INLINE_WRITE_LOCK
 190        def_bool y
 191        depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK
 192
 193config INLINE_WRITE_LOCK_BH
 194        def_bool y
 195        depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_BH
 196
 197config INLINE_WRITE_LOCK_IRQ
 198        def_bool y
 199        depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_IRQ
 200
 201config INLINE_WRITE_LOCK_IRQSAVE
 202        def_bool y
 203        depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_IRQSAVE
 204
 205config INLINE_WRITE_UNLOCK
 206        def_bool y
 207        depends on !PREEMPT || ARCH_INLINE_WRITE_UNLOCK
 208
 209config INLINE_WRITE_UNLOCK_BH
 210        def_bool y
 211        depends on ARCH_INLINE_WRITE_UNLOCK_BH
 212
 213config INLINE_WRITE_UNLOCK_IRQ
 214        def_bool y
 215        depends on !PREEMPT || ARCH_INLINE_WRITE_UNLOCK_IRQ
 216
 217config INLINE_WRITE_UNLOCK_IRQRESTORE
 218        def_bool y
 219        depends on ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
 220
 221endif
 222
 223config ARCH_SUPPORTS_ATOMIC_RMW
 224        bool
 225
 226config MUTEX_SPIN_ON_OWNER
 227        def_bool y
 228        depends on SMP && !DEBUG_MUTEXES && ARCH_SUPPORTS_ATOMIC_RMW
 229
 230config RWSEM_SPIN_ON_OWNER
 231       def_bool y
 232       depends on SMP && RWSEM_XCHGADD_ALGORITHM && ARCH_SUPPORTS_ATOMIC_RMW
 233
 234config LOCK_SPIN_ON_OWNER
 235       def_bool y
 236       depends on MUTEX_SPIN_ON_OWNER || RWSEM_SPIN_ON_OWNER
 237
 238config ARCH_USE_QUEUED_SPINLOCKS
 239        bool
 240
 241config QUEUED_SPINLOCKS
 242        def_bool y if ARCH_USE_QUEUED_SPINLOCKS
 243        depends on SMP
 244
 245config ARCH_USE_QUEUED_RWLOCKS
 246        bool
 247
 248config QUEUED_RWLOCKS
 249        def_bool y if ARCH_USE_QUEUED_RWLOCKS
 250        depends on SMP
 251