[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).
Showing
Please register or sign in to comment