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 && 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 BPF_ARCH_SPINLOCK 246 bool 247 248config ARCH_USE_QUEUED_RWLOCKS 249 bool 250 251config QUEUED_RWLOCKS 252 def_bool y if ARCH_USE_QUEUED_RWLOCKS 253 depends on SMP 254