[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.00.0901150958300.6528@localhost.localdomain>
Date: Thu, 15 Jan 2009 10:05:11 -0800 (PST)
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Matthew Wilcox <matthew@....cx>
cc: Ingo Molnar <mingo@...e.hu>,
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
On Thu, 15 Jan 2009, Matthew Wilcox wrote:
>
> I asked a couple of our benchmarking teams to try -v9. Neither the OLTP
> benchmark, nor the kernel-perf test suite found any significant
> performance change. I suspect mutex contention isn't a significant
> problem for most workloads.
We've been very good about spreading out mutexes. The normal kernel really
only does it for write accesses to the same directory, and readdir().
Almost everything else is totally in the noise.
I think Ingo's benchmark essentially tests exactly that "write to same
directory" case, and little else.
Unless:
> 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().
Linus
--
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