Hi Linus, This is the latest version of the ipc lock patch. It breaks down the three global IPC locks into one lock per IPC ID, also addresses the cache line bouncing problem introduced in the original patch. The original post could be found at: http://marc.theaimsgroup.com/?l=linux-kernel&m=102980357802682&w=2  The original patch breaks down the global IPC locks, yet added another layer of locking to protect the IPC ID array in case of resizing. Some concern was raised that the read/write lock may cause cache line bouncing. Since write lock is only used when the array is dynamically resized, RCU seems perfectly fit for this situation. By doing so it could reduce the possible lock contention in some applications where the IPC resources are heavily used, without introducing cache line bouncing. Besides the RCU changes, it also remove the redundant ipc_lockall() and ipc_unlockall() as suggested by Hugh Dickins. Patch is against 2.5.43 kernel. It requires Dipankar Sarma's read_barrier_depends RCU helper patch: http://marc.theaimsgroup.com/?l=linux-kernel&m=103479438017486&w=2 We use the ipc lock on OracleApps and it gave us the best number. Please include. Mingming Cao