[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090116005351.GD6763@linux.vnet.ibm.com>
Date: Thu, 15 Jan 2009 16:53:51 -0800
From: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Ingo Molnar <mingo@...e.hu>, Matthew Wilcox <matthew@....cx>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Gregory Haskins <ghaskins@...ell.com>,
Andi Kleen <andi@...stfloor.org>,
Chris Mason <chris.mason@...cle.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
linux-btrfs <linux-btrfs@...r.kernel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Nick Piggin <npiggin@...e.de>,
Peter Morreale <pmorreale@...ell.com>,
Sven Dietrich <SDietrich@...ell.com>,
Dmitry Adamushko <dmitry.adamushko@...il.com>,
Johannes Weiner <hannes@...xchg.org>
Subject: Re: [GIT PULL] adaptive spinning mutexes
On Thu, Jan 15, 2009 at 10:16:53AM -0800, Linus Torvalds wrote:
>
>
> On Thu, 15 Jan 2009, Ingo Molnar wrote:
> >
> > btw., i think spin-mutexes have a design advantage here: in a lot of code
> > areas it's quite difficult to use spinlocks - cannot allocate memory,
> > cannot call any code that can sporadically block (but does not _normally_
> > block), etc.
> >
> > With mutexes those atomicity constraints go away - and the performance
> > profile should now be quite close to that of spinlocks as well.
>
> Umm. Except if you wrote the code nicely and used spinlocks, you wouldn't
> hold the lock over all those unnecessary and complex operations.
>
> IOW, if you do pre-allocation instead of holding a lock over the
> allocation, you win. So yes, spin-mutexes makes it easier to write the
> code, but it also makes it easier to just plain be lazy.
In infrequently invoked code such as some error handling, lazy/simple
can be a big win.
Thanx, Paul
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists