ipc/sem.c: add a per-semaphore pending list
commitb97e820ffffbf49e94ed60c9c26f1a54bccae924
authorManfred Spraul <manfred@colorfullife.com>
Wed, 16 Dec 2009 00:47:32 +0000 (15 16:47 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 16 Dec 2009 15:20:10 +0000 (16 07:20 -0800)
tree195146c43d24051aada20a211f2bb146bfebe9d2
parentb6e90822e77cd476c18410f7003197d466e36ac6
ipc/sem.c: add a per-semaphore pending list

Based on Nick's findings:

sysv sem has the concept of semaphore arrays that consist out of multiple
semaphores.  Atomic operations that affect multiple semaphores are
supported.

The patch is the first step for optimizing simple, single semaphore
operations: In addition to the global list of all pending operations, a
2nd, per-semaphore list with the simple operations is added.

Note: this patch does not make sense by itself, the new list is used
nowhere.

Signed-off-by: Manfred Spraul <manfred@colorfullife.com>
Cc: Nick Piggin <npiggin@suse.de>
Cc: Pierre Peiffer <peifferp@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/linux/sem.h
ipc/sem.c