Commit ee25e96fcd78837c9f192aa655ce12a88bfd63d4

Authored by Oleg Nesterov
Committed by Linus Torvalds
1 parent eb8782ef72

[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

... ... @@ -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; \