[PATCH] 2.5.25 remove global semaphore_lock spin lock.
Replace the global semaphore_lock with the spinlock embedded in
the wait_queue_head_t. None of the data protected by semaphore_lock
is global and there is no need to restrict the system to only allow
one semaphore to be dealt with at a time.
This removes 2 lock round trips from __down() and __down_interruptible().
It also reduces the number of cache lines touched by 1 (the cache line
with seamphore_lock).