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