Merge branch 'for-3.2' of git://linux-nfs.org/~bfields/linux
[linux-btrfs-devel.git] / kernel / Kconfig.locks
blob5068e2a4e75f05f3c1b823b79ae67c94ffc09130
2 # The ARCH_INLINE foo is necessary because select ignores "depends on"
4 config ARCH_INLINE_SPIN_TRYLOCK
5         bool
7 config ARCH_INLINE_SPIN_TRYLOCK_BH
8         bool
10 config ARCH_INLINE_SPIN_LOCK
11         bool
13 config ARCH_INLINE_SPIN_LOCK_BH
14         bool
16 config ARCH_INLINE_SPIN_LOCK_IRQ
17         bool
19 config ARCH_INLINE_SPIN_LOCK_IRQSAVE
20         bool
22 config ARCH_INLINE_SPIN_UNLOCK
23         bool
25 config ARCH_INLINE_SPIN_UNLOCK_BH
26         bool
28 config ARCH_INLINE_SPIN_UNLOCK_IRQ
29         bool
31 config ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE
32         bool
35 config ARCH_INLINE_READ_TRYLOCK
36         bool
38 config ARCH_INLINE_READ_LOCK
39         bool
41 config ARCH_INLINE_READ_LOCK_BH
42         bool
44 config ARCH_INLINE_READ_LOCK_IRQ
45         bool
47 config ARCH_INLINE_READ_LOCK_IRQSAVE
48         bool
50 config ARCH_INLINE_READ_UNLOCK
51         bool
53 config ARCH_INLINE_READ_UNLOCK_BH
54         bool
56 config ARCH_INLINE_READ_UNLOCK_IRQ
57         bool
59 config ARCH_INLINE_READ_UNLOCK_IRQRESTORE
60         bool
63 config ARCH_INLINE_WRITE_TRYLOCK
64         bool
66 config ARCH_INLINE_WRITE_LOCK
67         bool
69 config ARCH_INLINE_WRITE_LOCK_BH
70         bool
72 config ARCH_INLINE_WRITE_LOCK_IRQ
73         bool
75 config ARCH_INLINE_WRITE_LOCK_IRQSAVE
76         bool
78 config ARCH_INLINE_WRITE_UNLOCK
79         bool
81 config ARCH_INLINE_WRITE_UNLOCK_BH
82         bool
84 config ARCH_INLINE_WRITE_UNLOCK_IRQ
85         bool
87 config ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
88         bool
91 # lock_* functions are inlined when:
92 #   - DEBUG_SPINLOCK=n and GENERIC_LOCKBREAK=n and ARCH_INLINE_*LOCK=y
94 # trylock_* functions are inlined when:
95 #   - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
97 # unlock and unlock_irq functions are inlined when:
98 #   - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
99 #  or
100 #   - DEBUG_SPINLOCK=n and PREEMPT=n
102 # unlock_bh and unlock_irqrestore functions are inlined when:
103 #   - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
106 config INLINE_SPIN_TRYLOCK
107         def_bool !DEBUG_SPINLOCK && ARCH_INLINE_SPIN_TRYLOCK
109 config INLINE_SPIN_TRYLOCK_BH
110         def_bool !DEBUG_SPINLOCK && ARCH_INLINE_SPIN_TRYLOCK_BH
112 config INLINE_SPIN_LOCK
113         def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK
115 config INLINE_SPIN_LOCK_BH
116         def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
117                  ARCH_INLINE_SPIN_LOCK_BH
119 config INLINE_SPIN_LOCK_IRQ
120         def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
121                  ARCH_INLINE_SPIN_LOCK_IRQ
123 config INLINE_SPIN_LOCK_IRQSAVE
124         def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
125                  ARCH_INLINE_SPIN_LOCK_IRQSAVE
127 config INLINE_SPIN_UNLOCK
128         def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_SPIN_UNLOCK)
130 config INLINE_SPIN_UNLOCK_BH
131         def_bool !DEBUG_SPINLOCK && ARCH_INLINE_SPIN_UNLOCK_BH
133 config INLINE_SPIN_UNLOCK_IRQ
134         def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_SPIN_UNLOCK_BH)
136 config INLINE_SPIN_UNLOCK_IRQRESTORE
137         def_bool !DEBUG_SPINLOCK && ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE
140 config INLINE_READ_TRYLOCK
141         def_bool !DEBUG_SPINLOCK && ARCH_INLINE_READ_TRYLOCK
143 config INLINE_READ_LOCK
144         def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK
146 config INLINE_READ_LOCK_BH
147         def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
148                  ARCH_INLINE_READ_LOCK_BH
150 config INLINE_READ_LOCK_IRQ
151         def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
152                  ARCH_INLINE_READ_LOCK_IRQ
154 config INLINE_READ_LOCK_IRQSAVE
155         def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
156                  ARCH_INLINE_READ_LOCK_IRQSAVE
158 config INLINE_READ_UNLOCK
159         def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_READ_UNLOCK)
161 config INLINE_READ_UNLOCK_BH
162         def_bool !DEBUG_SPINLOCK && ARCH_INLINE_READ_UNLOCK_BH
164 config INLINE_READ_UNLOCK_IRQ
165         def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_READ_UNLOCK_BH)
167 config INLINE_READ_UNLOCK_IRQRESTORE
168         def_bool !DEBUG_SPINLOCK && ARCH_INLINE_READ_UNLOCK_IRQRESTORE
171 config INLINE_WRITE_TRYLOCK
172         def_bool !DEBUG_SPINLOCK && ARCH_INLINE_WRITE_TRYLOCK
174 config INLINE_WRITE_LOCK
175         def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK
177 config INLINE_WRITE_LOCK_BH
178         def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
179                  ARCH_INLINE_WRITE_LOCK_BH
181 config INLINE_WRITE_LOCK_IRQ
182         def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
183                  ARCH_INLINE_WRITE_LOCK_IRQ
185 config INLINE_WRITE_LOCK_IRQSAVE
186         def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
187                  ARCH_INLINE_WRITE_LOCK_IRQSAVE
189 config INLINE_WRITE_UNLOCK
190         def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_WRITE_UNLOCK)
192 config INLINE_WRITE_UNLOCK_BH
193         def_bool !DEBUG_SPINLOCK && ARCH_INLINE_WRITE_UNLOCK_BH
195 config INLINE_WRITE_UNLOCK_IRQ
196         def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_WRITE_UNLOCK_BH)
198 config INLINE_WRITE_UNLOCK_IRQRESTORE
199         def_bool !DEBUG_SPINLOCK && ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
201 config MUTEX_SPIN_ON_OWNER
202         def_bool SMP && !DEBUG_MUTEXES