|
|
Subscribe / Log in / New account

mutex subsystem, -V15

From:  Ingo Molnar <mingo@elte.hu>
To:  lkml <linux-kernel@vger.kernel.org>
Subject:  [patch 00/21] mutex subsystem, -V15
Date:  Thu, 5 Jan 2006 16:36:38 +0100
Cc:  Linus Torvalds <torvalds@osdl.org>, Andrew Morton <akpm@osdl.org>, Arjan van de Ven <arjan@infradead.org>, Nicolas Pitre <nico@cam.org>, Jes Sorensen <jes@trained-monkey.org>, Al Viro <viro@ftp.linux.org.uk>, Oleg Nesterov <oleg@tv-sign.ru>, David Howells <dhowells@redhat.com>, Alan Cox <alan@lxorguk.ukuu.org.uk>, Christoph Hellwig <hch@infradead.org>, Andi Kleen <ak@suse.de>, Russell King <rmk+lkml@arm.linux.org.uk>


this is version 15 of the generic mutex subsystem, against v2.6.15.

The patch-queue consists of 21 patches, which can also be downloaded 
from:

  http://redhat.com/~mingo/generic-mutex-subsystem/

Changes since -V14:

 5 files changed, 164 insertions(+), 191 deletions(-)

 - micro-optimization #1: changed waiter->ti to be waiter->task, this
   shaved off 2 more instructions from the slowpath. Suggested by David
   Howells.

 - micro-optimization #2: beware, this is evil black magic: i've enabled
   architectures to do tail-merging of the slowpath if they want to, and 
   implemented this on x86. This shaves off another 3 instructions
   from the slowpath, which can now directly branch into the slowpath 
   function, and the ret from there will bring us back to the call site.
   The cost is that no other code but the fastpath must be put into
   mutex_lock()/_unlock(). I have added big warnings to the affected
   places. The non-assembly generic includes, nor the debugging code is
   affected by this.

 - reordered the API functions to be in likelyhood-of-use order:
   mutex_lock()-fastpath, mutex_unlock()-fastpath, 
   mutex_lock()-slowpath, mutex_unlock()-slowpath, 
   mutex_lock_interruptible() fastpath/slowpath, mutex_trylock().

 - cleanup: got rid of the intermediate __mutex_lock()/__mutex_unlock() 
   wrappers, they were unnecessary. Renamed the _noinline functions to 
   _slowpath - this is more descriptive.

	Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Copyright © 2006, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds