Commit ee25e96fcd78837c9f192aa655ce12a88bfd63d4
Committed by
Linus Torvalds
1 parent
eb8782ef72
Exists in
master
and in
20 other branches
[PATCH] BUILD_LOCK_OPS: cleanup preempt_disable() usage
This patch changes the code from: preempt_disable(); for (;;) { ... preempt_disable(); } to: for (;;) { preempt_disable(); ... } which seems more clean to me and saves a couple of bytes for each function. Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Showing 1 changed file with 4 additions and 5 deletions Side-by-side Diff
kernel/spinlock.c
... | ... | @@ -179,16 +179,16 @@ |
179 | 179 | #define BUILD_LOCK_OPS(op, locktype) \ |
180 | 180 | void __lockfunc _##op##_lock(locktype##_t *lock) \ |
181 | 181 | { \ |
182 | - preempt_disable(); \ | |
183 | 182 | for (;;) { \ |
183 | + preempt_disable(); \ | |
184 | 184 | if (likely(_raw_##op##_trylock(lock))) \ |
185 | 185 | break; \ |
186 | 186 | preempt_enable(); \ |
187 | + \ | |
187 | 188 | if (!(lock)->break_lock) \ |
188 | 189 | (lock)->break_lock = 1; \ |
189 | 190 | while (!op##_can_lock(lock) && (lock)->break_lock) \ |
190 | 191 | cpu_relax(); \ |
191 | - preempt_disable(); \ | |
192 | 192 | } \ |
193 | 193 | (lock)->break_lock = 0; \ |
194 | 194 | } \ |
195 | 195 | |
196 | 196 | |
197 | 197 | |
198 | 198 | |
... | ... | @@ -199,19 +199,18 @@ |
199 | 199 | { \ |
200 | 200 | unsigned long flags; \ |
201 | 201 | \ |
202 | - preempt_disable(); \ | |
203 | 202 | for (;;) { \ |
203 | + preempt_disable(); \ | |
204 | 204 | local_irq_save(flags); \ |
205 | 205 | if (likely(_raw_##op##_trylock(lock))) \ |
206 | 206 | break; \ |
207 | 207 | local_irq_restore(flags); \ |
208 | - \ | |
209 | 208 | preempt_enable(); \ |
209 | + \ | |
210 | 210 | if (!(lock)->break_lock) \ |
211 | 211 | (lock)->break_lock = 1; \ |
212 | 212 | while (!op##_can_lock(lock) && (lock)->break_lock) \ |
213 | 213 | cpu_relax(); \ |
214 | - preempt_disable(); \ | |
215 | 214 | } \ |
216 | 215 | (lock)->break_lock = 0; \ |
217 | 216 | return flags; \ |