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