Back to home page

LXR

 
 

    


0001 #
0002 # The ARCH_INLINE foo is necessary because select ignores "depends on"
0003 #
0004 config ARCH_INLINE_SPIN_TRYLOCK
0005         bool
0006 
0007 config ARCH_INLINE_SPIN_TRYLOCK_BH
0008         bool
0009 
0010 config ARCH_INLINE_SPIN_LOCK
0011         bool
0012 
0013 config ARCH_INLINE_SPIN_LOCK_BH
0014         bool
0015 
0016 config ARCH_INLINE_SPIN_LOCK_IRQ
0017         bool
0018 
0019 config ARCH_INLINE_SPIN_LOCK_IRQSAVE
0020         bool
0021 
0022 config ARCH_INLINE_SPIN_UNLOCK
0023         bool
0024 
0025 config ARCH_INLINE_SPIN_UNLOCK_BH
0026         bool
0027 
0028 config ARCH_INLINE_SPIN_UNLOCK_IRQ
0029         bool
0030 
0031 config ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE
0032         bool
0033 
0034 
0035 config ARCH_INLINE_READ_TRYLOCK
0036         bool
0037 
0038 config ARCH_INLINE_READ_LOCK
0039         bool
0040 
0041 config ARCH_INLINE_READ_LOCK_BH
0042         bool
0043 
0044 config ARCH_INLINE_READ_LOCK_IRQ
0045         bool
0046 
0047 config ARCH_INLINE_READ_LOCK_IRQSAVE
0048         bool
0049 
0050 config ARCH_INLINE_READ_UNLOCK
0051         bool
0052 
0053 config ARCH_INLINE_READ_UNLOCK_BH
0054         bool
0055 
0056 config ARCH_INLINE_READ_UNLOCK_IRQ
0057         bool
0058 
0059 config ARCH_INLINE_READ_UNLOCK_IRQRESTORE
0060         bool
0061 
0062 
0063 config ARCH_INLINE_WRITE_TRYLOCK
0064         bool
0065 
0066 config ARCH_INLINE_WRITE_LOCK
0067         bool
0068 
0069 config ARCH_INLINE_WRITE_LOCK_BH
0070         bool
0071 
0072 config ARCH_INLINE_WRITE_LOCK_IRQ
0073         bool
0074 
0075 config ARCH_INLINE_WRITE_LOCK_IRQSAVE
0076         bool
0077 
0078 config ARCH_INLINE_WRITE_UNLOCK
0079         bool
0080 
0081 config ARCH_INLINE_WRITE_UNLOCK_BH
0082         bool
0083 
0084 config ARCH_INLINE_WRITE_UNLOCK_IRQ
0085         bool
0086 
0087 config ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
0088         bool
0089 
0090 config UNINLINE_SPIN_UNLOCK
0091         bool
0092 
0093 #
0094 # lock_* functions are inlined when:
0095 #   - DEBUG_SPINLOCK=n and GENERIC_LOCKBREAK=n and ARCH_INLINE_*LOCK=y
0096 #
0097 # trylock_* functions are inlined when:
0098 #   - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
0099 #
0100 # unlock and unlock_irq functions are inlined when:
0101 #   - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
0102 #  or
0103 #   - DEBUG_SPINLOCK=n and PREEMPT=n
0104 #
0105 # unlock_bh and unlock_irqrestore functions are inlined when:
0106 #   - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
0107 #
0108 
0109 if !DEBUG_SPINLOCK
0110 
0111 config INLINE_SPIN_TRYLOCK
0112         def_bool y
0113         depends on ARCH_INLINE_SPIN_TRYLOCK
0114 
0115 config INLINE_SPIN_TRYLOCK_BH
0116         def_bool y
0117         depends on ARCH_INLINE_SPIN_TRYLOCK_BH
0118 
0119 config INLINE_SPIN_LOCK
0120         def_bool y
0121         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK
0122 
0123 config INLINE_SPIN_LOCK_BH
0124         def_bool y
0125         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_BH
0126 
0127 config INLINE_SPIN_LOCK_IRQ
0128         def_bool y
0129         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_IRQ
0130 
0131 config INLINE_SPIN_LOCK_IRQSAVE
0132         def_bool y
0133         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_IRQSAVE
0134 
0135 config INLINE_SPIN_UNLOCK_BH
0136         def_bool y
0137         depends on ARCH_INLINE_SPIN_UNLOCK_BH
0138 
0139 config INLINE_SPIN_UNLOCK_IRQ
0140         def_bool y
0141         depends on !PREEMPT || ARCH_INLINE_SPIN_UNLOCK_IRQ
0142 
0143 config INLINE_SPIN_UNLOCK_IRQRESTORE
0144         def_bool y
0145         depends on ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE
0146 
0147 
0148 config INLINE_READ_TRYLOCK
0149         def_bool y
0150         depends on ARCH_INLINE_READ_TRYLOCK
0151 
0152 config INLINE_READ_LOCK
0153         def_bool y
0154         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK
0155 
0156 config INLINE_READ_LOCK_BH
0157         def_bool y
0158         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_BH
0159 
0160 config INLINE_READ_LOCK_IRQ
0161         def_bool y
0162         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_IRQ
0163 
0164 config INLINE_READ_LOCK_IRQSAVE
0165         def_bool y
0166         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_IRQSAVE
0167 
0168 config INLINE_READ_UNLOCK
0169         def_bool y
0170         depends on !PREEMPT || ARCH_INLINE_READ_UNLOCK
0171 
0172 config INLINE_READ_UNLOCK_BH
0173         def_bool y
0174         depends on ARCH_INLINE_READ_UNLOCK_BH
0175 
0176 config INLINE_READ_UNLOCK_IRQ
0177         def_bool y
0178         depends on !PREEMPT || ARCH_INLINE_READ_UNLOCK_IRQ
0179 
0180 config INLINE_READ_UNLOCK_IRQRESTORE
0181         def_bool y
0182         depends on ARCH_INLINE_READ_UNLOCK_IRQRESTORE
0183 
0184 
0185 config INLINE_WRITE_TRYLOCK
0186         def_bool y
0187         depends on ARCH_INLINE_WRITE_TRYLOCK
0188 
0189 config INLINE_WRITE_LOCK
0190         def_bool y
0191         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK
0192 
0193 config INLINE_WRITE_LOCK_BH
0194         def_bool y
0195         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_BH
0196 
0197 config INLINE_WRITE_LOCK_IRQ
0198         def_bool y
0199         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_IRQ
0200 
0201 config INLINE_WRITE_LOCK_IRQSAVE
0202         def_bool y
0203         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_IRQSAVE
0204 
0205 config INLINE_WRITE_UNLOCK
0206         def_bool y
0207         depends on !PREEMPT || ARCH_INLINE_WRITE_UNLOCK
0208 
0209 config INLINE_WRITE_UNLOCK_BH
0210         def_bool y
0211         depends on ARCH_INLINE_WRITE_UNLOCK_BH
0212 
0213 config INLINE_WRITE_UNLOCK_IRQ
0214         def_bool y
0215         depends on !PREEMPT || ARCH_INLINE_WRITE_UNLOCK_IRQ
0216 
0217 config INLINE_WRITE_UNLOCK_IRQRESTORE
0218         def_bool y
0219         depends on ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
0220 
0221 endif
0222 
0223 config ARCH_SUPPORTS_ATOMIC_RMW
0224         bool
0225 
0226 config MUTEX_SPIN_ON_OWNER
0227         def_bool y
0228         depends on SMP && ARCH_SUPPORTS_ATOMIC_RMW
0229 
0230 config RWSEM_SPIN_ON_OWNER
0231        def_bool y
0232        depends on SMP && RWSEM_XCHGADD_ALGORITHM && ARCH_SUPPORTS_ATOMIC_RMW
0233 
0234 config LOCK_SPIN_ON_OWNER
0235        def_bool y
0236        depends on MUTEX_SPIN_ON_OWNER || RWSEM_SPIN_ON_OWNER
0237 
0238 config ARCH_USE_QUEUED_SPINLOCKS
0239         bool
0240 
0241 config QUEUED_SPINLOCKS
0242         def_bool y if ARCH_USE_QUEUED_SPINLOCKS
0243         depends on SMP
0244 
0245 config ARCH_USE_QUEUED_RWLOCKS
0246         bool
0247 
0248 config QUEUED_RWLOCKS
0249         def_bool y if ARCH_USE_QUEUED_RWLOCKS
0250         depends on SMP