[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090115180844.GL22472@elte.hu>
Date: Thu, 15 Jan 2009 19:08:44 +0100
From: Ingo Molnar <mingo@...e.hu>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Matthew Wilcox <matthew@....cx>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
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
* Linus Torvalds <torvalds@...ux-foundation.org> wrote:
> > Has anyone found a non-synthetic benchmark where this makes a
> > significant difference? Aside from btrfs, I mean.
>
> Yea, if you have some particular filesystem (or other subsystem) that
> uses a global mutex, you'll obviously see way more contention. Btrfs may
> not be _unique_ in this regard, but it's definitely doing something that
> isn't good.
>
> Btw, it's doing something that ext3 also used to do iirc, until we fixed
> it to use spinlocks instead (the block group lock in particular).
>
> Yeah - just double-checked. Commit c12b9866ea52 in the historical Linux
> archive, from 2003. Which made block allocation protected by a per-group
> spinlock, rather than lock_super().
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.
Ingo
--
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