]> git.baikalelectronics.ru Git - kernel.git/commit
ipc/sem.c: sem optimise undo list search
authorNick Piggin <npiggin@suse.de>
Wed, 16 Dec 2009 00:47:28 +0000 (16:47 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 16 Dec 2009 15:20:09 +0000 (07:20 -0800)
commit2bbac74455b40e263a3fcf6083daf780818bc07d
tree22468665036b37922664529df976c890c5bed2d0
parent319f73c029f2e8a65eeec572e5fdea6c6a601a4b
ipc/sem.c: sem optimise undo list search

Around a month ago, there was some discussion about an improvement of the
sysv sem algorithm: Most (at least: some important) users only use simple
semaphore operations, therefore it's worthwile to optimize this use case.

This patch:

Move last looked up sem_undo struct to the head of the task's undo list.
Attempt to move common entries to the front of the list so search time is
reduced.  This reduces lookup_undo on oprofile of problematic SAP workload
by 30% (see patch 4 for a description of SAP workload).

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