kernels/linux-2.4.0/include/asm-alpha/semaphore.h
/*
 * Hidden out of line code is fun, but extremely messy.  Rely on newer
 * compilers to do a respectable job with this.  The contention cases
 * are handled out of line in arch/alpha/kernel/semaphore.c.
 */
Hidden out of line code is fun, but extremely messy.  Rely on newer
compilers to do a respectable job with this.  The contention cases
are handled out of line in arch/alpha/kernel/semaphore.c.
Hidden out of line code is fun but extremely messy . Rely on newer compilers to do a respectable job with this . The contention cases are handled out of line in arch / alpha / kernel / semaphore . c .
static inline void __down(struct semaphore *sem)
{
	long count = atomic_dec_return(&sem->count);
	if (__builtin_expect(count < 0, 0))
		__down_failed(sem);
}
static inline void __down ( struct semaphore * sem ) { long count = atomic_dec_return ( & sem -> count ) ; if ( __builtin_expect ( count < 0 , 0 ) ) __down_failed ( sem ) ; }
Hidden out of line code is fun, but extremely messy.
Hidden out of line code is fun but extremely messy .