This patch breaks down the three global IPC locks into one lock per IPCID.

In current implementation, the operations on any IPC semaphores aresynchronized by one single IPC semaphore lock. Changing the IPC locksfrom one lock per IPC resource type into one lock per IPC ID makes senseto me. By doing so could reduce the possible lock contention in someapplications where the IPC resources are heavily used.

Test results from the LMbench Pipe and IPC latency test shows this patch improves the performance of those functions from 1% to 9%.