From: Chris Mason <chris.mason@oracle.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Matthew Wilcox <matthew@wil.cx>, Andi Kleen <andi@firstfloor.org>,
Andrew Morton <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org,
linux-fsdevel <linux-fsdevel@vger.kernel.org>,
linux-btrfs <linux-btrfs@vger.kernel.org>,
Ingo Molnar <mingo@elte.hu>, Thomas Gleixner <tglx@linutronix.de>,
Steven Rostedt <rostedt@goodmis.org>,
Gregory Haskins <ghaskins@novell.com>
Subject: Re: Btrfs for mainline
Date: Mon, 05 Jan 2009 09:34:23 -0500 [thread overview]
Message-ID: <1231166063.4290.37.camel@think.oraclecorp.com> (raw)
In-Reply-To: <1231093310.27690.5.camel@twins>
On Sun, 2009-01-04 at 19:21 +0100, Peter Zijlstra wrote:
> On Sat, 2009-01-03 at 12:17 -0700, Matthew Wilcox wrote:
> > > - locking.c needs a lot of cleanup.
> > > If combination spinlocks/mutexes are really a win they should be
> > > in the generic mutex framework. And I'm still dubious on the
> > hardcoded
> > > numbers.
> >
> > I don't think this needs to be cleaned up before merge. I've spent
> > an hour or two looking at it, and while we can do a somewhat better
> > job as part of the generic mutex framework, it's quite tricky (due to
> > the different <asm/mutex.h> implementations). It has the potential to
> > introduce some hard-to-hit bugs in the generic mutexes, and there's some
> > API discussions to have.
>
> I'm really opposed to having this in some filesystem. Please remove it
> before merging it.
>
It is 5 lines in a single function that is local to btrfs. I'll be
happy to take it out when a clear path to a replacement is in.
I know people have been doing work in this area for -rt, and do not want
to start a parallel effort to change things.
I'm not trying to jump into the design discussions because there are
people already working on it who know the issues much better than I do.
But, if anyone working on adaptive mutexes is looking for a coder,
tester, use case, or benchmark for their locking scheme, my hand is up.
Until then, this is my for loop, there are many like it, but this one is
mine.
-chris
next prev parent reply other threads:[~2009-01-05 14:34 UTC|newest]
Thread overview: 372+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-31 11:28 Btrfs for mainline Chris Mason
2008-12-31 18:45 ` Andrew Morton
2008-12-31 23:19 ` Chris Mason
2009-01-02 16:37 ` Ryusuke Konishi
2009-01-02 18:06 ` Chris Mason
2009-01-02 19:38 ` Chris Mason
2009-01-03 9:44 ` Ryusuke Konishi
2009-01-05 14:14 ` Chris Mason
2009-01-05 16:43 ` Ryusuke Konishi
2009-01-05 10:32 ` Nick Piggin
2009-01-05 13:21 ` Chris Mason
2009-01-05 14:39 ` generic pagecache to block mapping layer (was Re: Btrfs for mainline) Nick Piggin
2009-01-05 16:37 ` Chris Mason
2009-01-05 17:10 ` Nick Piggin
2009-01-06 17:20 ` Nick Piggin
2009-01-02 19:05 ` Btrfs for mainline Andi Kleen
2009-01-02 19:32 ` Chris Mason
2009-01-02 21:01 ` Andi Kleen
2009-01-02 21:35 ` Chris Mason
2009-01-02 22:26 ` Roland Dreier
2009-01-04 13:28 ` KOSAKI Motohiro
2009-01-04 15:56 ` Ed Tomlinson
2009-01-05 10:07 ` Chris Samuel
2009-01-05 13:18 ` Chris Mason
2009-01-05 16:33 ` J. Bruce Fields
2009-01-06 22:09 ` Jamie Lokier
2009-01-03 19:17 ` Matthew Wilcox
2009-01-03 19:50 ` Christoph Hellwig
2009-01-03 20:17 ` Chris Mason
2009-01-04 21:52 ` Arnd Bergmann
2009-01-04 21:52 ` Arnd Bergmann
2009-01-05 14:01 ` Chris Mason
2009-01-03 21:12 ` Matthew Wilcox
2009-01-04 18:21 ` Peter Zijlstra
2009-01-04 18:41 ` Matthew Wilcox
2009-01-05 14:47 ` Nick Piggin
2009-01-05 16:23 ` Matthew Wilcox
2009-01-05 16:30 ` Chris Mason
2009-01-07 13:07 ` Ingo Molnar
2009-01-07 13:24 ` Matthew Wilcox
2009-01-07 14:56 ` Ingo Molnar
2009-01-06 11:40 ` [PATCH][RFC]: mutex: adaptive spin Peter Zijlstra
2009-01-06 12:10 ` Ingo Molnar
2009-01-06 12:21 ` Peter Zijlstra
2009-01-06 15:01 ` Matthew Wilcox
2009-01-06 13:10 ` Gregory Haskins
2009-01-06 13:16 ` Ingo Molnar
2009-01-06 13:20 ` Peter Zijlstra
2009-01-06 14:15 ` Gregory Haskins
2009-01-06 21:42 ` Paul E. McKenney
2009-01-06 21:44 ` Peter Zijlstra
2009-01-06 21:50 ` Linus Torvalds
2009-01-06 22:07 ` Peter Zijlstra
2009-01-06 22:22 ` Linus Torvalds
2009-01-06 22:43 ` Peter Zijlstra
2009-01-06 22:56 ` Linus Torvalds
2009-01-06 23:00 ` Linus Torvalds
2009-01-06 23:09 ` Matthew Wilcox
2009-01-07 0:06 ` Linus Torvalds
2009-01-06 23:16 ` Peter Zijlstra
2009-01-07 12:03 ` [PATCH -v4][RFC]: mutex: implement adaptive spinning Peter Zijlstra
2009-01-07 14:50 ` Frédéric Weisbecker
2009-01-07 14:58 ` Peter Zijlstra
2009-01-07 14:58 ` Peter Zijlstra
2009-01-07 14:58 ` Peter Zijlstra
2009-01-07 15:22 ` Steven Rostedt
2009-01-07 15:29 ` Steven Rostedt
2009-01-07 15:54 ` Peter Zijlstra
2009-01-07 16:25 ` Linus Torvalds
2009-01-07 16:57 ` [PATCH -v5][RFC]: " Peter Zijlstra
2009-01-07 18:55 ` Linus Torvalds
2009-01-07 20:40 ` Steven Rostedt
2009-01-07 20:55 ` Linus Torvalds
2009-01-07 21:09 ` Matthew Wilcox
2009-01-07 21:24 ` Linus Torvalds
2009-01-07 21:32 ` Ingo Molnar
2009-01-07 21:47 ` Andrew Morton
2009-01-07 21:57 ` Ingo Molnar
2009-01-07 21:39 ` Linus Torvalds
2009-01-07 21:39 ` Andi Kleen
2009-01-07 22:28 ` Gregory Haskins
2009-01-07 22:33 ` Ingo Molnar
2009-01-07 22:51 ` Peter W. Morreale
2009-01-07 23:14 ` Peter W. Morreale
2009-01-07 22:56 ` Gregory Haskins
2009-01-07 23:09 ` Steven Rostedt
2009-01-07 23:32 ` Linus Torvalds
2009-01-07 23:46 ` Steven Rostedt
2009-01-07 23:47 ` Steven Rostedt
2009-01-07 23:52 ` Linus Torvalds
2009-01-08 3:28 ` Gregory Haskins
2009-01-08 7:10 ` Peter Zijlstra
2009-01-07 23:15 ` Linus Torvalds
2009-01-07 23:18 ` Linus Torvalds
2009-01-08 3:27 ` Gregory Haskins
2009-01-08 3:38 ` Steven Rostedt
2009-01-08 4:00 ` Gregory Haskins
2009-01-07 23:23 ` Paul E. McKenney
2009-01-07 21:28 ` Ingo Molnar
2009-01-07 21:51 ` Peter Zijlstra
2009-01-07 21:58 ` Linus Torvalds
2009-01-07 22:06 ` Linus Torvalds
2009-01-07 22:18 ` Peter Zijlstra
2009-01-07 23:10 ` Linus Torvalds
2009-01-08 9:58 ` [PATCH -v6][RFC]: " Peter Zijlstra
2009-01-08 14:18 ` Ingo Molnar
2009-01-08 14:33 ` Gregory Haskins
2009-01-08 14:46 ` [PATCH -v7][RFC]: " Peter Zijlstra
2009-01-08 15:09 ` Steven Rostedt
2009-01-08 15:23 ` Peter Zijlstra
2009-01-08 15:28 ` Steven Rostedt
2009-01-08 15:30 ` Peter Zijlstra
2009-01-08 15:30 ` Steven Rostedt
2009-01-08 16:11 ` Linus Torvalds
2009-01-08 16:58 ` Linus Torvalds
2009-01-08 17:08 ` Chris Mason
2009-01-08 17:33 ` Steven Rostedt
2009-01-08 17:52 ` Linus Torvalds
2009-01-08 18:03 ` Steven Rostedt
2009-01-08 18:03 ` Steven Rostedt
2009-01-08 18:03 ` Steven Rostedt
2009-01-08 18:14 ` Steven Rostedt
2009-01-08 19:17 ` Chris Mason
2009-01-08 19:45 ` Steven Rostedt
2009-01-08 18:16 ` Linus Torvalds
2009-01-08 18:27 ` Chris Mason
2009-01-08 19:02 ` Chris Mason
2009-01-08 19:13 ` Linus Torvalds
2009-01-08 19:23 ` Peter Zijlstra
2009-01-09 17:40 ` Jiri Kosina
2009-01-09 9:28 ` Peter Zijlstra
2009-01-10 23:59 ` Jeremy Fitzhardinge
2009-01-08 19:54 ` Linus Torvalds
2009-01-08 20:12 ` Steven Rostedt
2009-01-09 10:47 ` Peter Zijlstra
2009-01-09 15:06 ` Peter Zijlstra
2009-01-09 15:11 ` Chris Mason
2009-01-09 15:59 ` Steven Rostedt
2009-01-09 16:03 ` Peter Zijlstra
2009-01-09 16:34 ` Linus Torvalds
2009-01-09 16:44 ` Steven Rostedt
2009-01-09 18:16 ` Peter Zijlstra
2009-01-09 18:24 ` Linus Torvalds
2009-01-08 18:00 ` Linus Torvalds
2009-01-08 18:33 ` Ingo Molnar
2009-01-08 18:41 ` H. Peter Anvin
2009-01-09 3:46 ` Linus Torvalds
2009-01-09 4:59 ` David Miller
2009-01-09 5:00 ` H. Peter Anvin
2009-01-09 13:00 ` [patch] measurements, numbers about CONFIG_OPTIMIZE_INLINING=y impact Ingo Molnar
2009-01-09 14:03 ` jim owens
2009-01-09 15:35 ` Ingo Molnar
2009-01-09 16:28 ` Linus Torvalds
2009-01-09 19:56 ` H. Peter Anvin
2009-01-10 8:55 ` Chris Samuel
2009-01-09 20:17 ` Nicholas Miell
2009-01-09 20:29 ` Linus Torvalds
2009-01-09 23:28 ` Nicholas Miell
2009-01-10 0:05 ` Linus Torvalds
2009-01-10 0:37 ` Andi Kleen
2009-01-10 0:41 ` Linus Torvalds
2009-01-10 1:08 ` Andi Kleen
2009-01-10 2:12 ` Nicholas Miell
2009-01-10 4:05 ` Linus Torvalds
2009-01-10 6:44 ` Nicholas Miell
2009-01-09 20:29 ` Steven Rostedt
2009-01-09 16:34 ` H. Peter Anvin
2009-01-09 16:44 ` Linus Torvalds
2009-01-09 16:47 ` Dirk Hohndel
2009-01-09 16:46 ` Dirk Hohndel
2009-01-09 16:51 ` H. Peter Anvin
2009-01-09 17:07 ` Steven Rostedt
2009-01-09 17:14 ` Linus Torvalds
2009-01-09 17:32 ` Andi Kleen
2009-01-09 17:20 ` Andi Kleen
2009-01-09 17:11 ` Linus Torvalds
2009-01-09 17:46 ` Andi Kleen
2009-01-09 17:28 ` Matthew Wilcox
2009-01-09 17:47 ` Andi Kleen
2009-01-09 17:39 ` Matthew Wilcox
2009-01-09 17:54 ` Linus Torvalds
2009-01-09 18:07 ` H. Peter Anvin
2009-01-09 18:19 ` Andi Kleen
2009-01-09 18:59 ` Richard Guenther
2009-01-09 19:13 ` H. Peter Anvin
2009-01-09 19:21 ` Andi Kleen
2009-01-09 19:10 ` Richard Guenther
2009-01-09 19:17 ` H. Peter Anvin
2009-01-09 19:40 ` Andi Kleen
2009-01-09 19:32 ` Richard Guenther
2009-01-09 19:09 ` Richard Guenther
2009-01-09 19:44 ` Linus Torvalds
2009-01-09 20:14 ` Richard Guenther
2009-01-09 20:26 ` Linus Torvalds
2009-01-09 20:37 ` Richard Guenther
2009-01-09 21:23 ` Theodore Tso
2009-01-09 21:33 ` Steven Rostedt
2009-01-09 20:58 ` Sam Ravnborg
2009-01-09 17:41 ` Dirk Hohndel
2009-01-09 18:02 ` Andi Kleen
2009-01-09 17:57 ` Linus Torvalds
2009-01-09 18:55 ` Andi Kleen
2009-01-09 19:00 ` Linus Torvalds
2009-01-09 19:35 ` Andi Kleen
2009-01-09 19:29 ` Matthew Wilcox
2009-01-09 19:48 ` Linus Torvalds
2009-01-09 19:52 ` Theodore Tso
2009-01-09 22:07 ` Arjan van de Ven
2009-01-09 22:44 ` Andi Kleen
2009-01-09 22:44 ` Andi Kleen
2009-01-09 22:44 ` Andi Kleen
2009-01-09 22:35 ` H. Peter Anvin
2009-01-09 22:55 ` Arjan van de Ven
2009-01-09 23:32 ` Sam Ravnborg
2009-01-10 5:29 ` Arjan van de Ven
2009-01-10 5:57 ` H. Peter Anvin
2009-01-11 22:45 ` Valdis.Kletnieks
2009-01-09 17:13 ` Christoph Hellwig
2009-01-09 15:25 ` Ingo Molnar
2009-01-08 19:00 ` [PATCH -v7][RFC]: mutex: implement adaptive spinning Andi Kleen
2009-01-09 1:42 ` H. Peter Anvin
2009-01-09 13:37 ` Ingo Molnar
2009-01-09 16:09 ` Linus Torvalds
2009-01-09 16:23 ` H. Peter Anvin
2009-01-09 16:37 ` Linus Torvalds
2009-01-09 20:41 ` Ingo Molnar
2009-01-09 20:56 ` Ingo Molnar
2009-01-09 20:56 ` Linus Torvalds
2009-01-09 21:34 ` Ingo Molnar
2009-01-09 21:41 ` Harvey Harrison
2009-01-09 21:50 ` Linus Torvalds
2009-01-09 21:59 ` Harvey Harrison
2009-01-09 22:09 ` Linus Torvalds
2009-01-09 22:13 ` Harvey Harrison
2009-01-09 22:25 ` Harvey Harrison
2009-01-10 0:53 ` Jamie Lokier
2009-01-10 1:04 ` Linus Torvalds
2009-01-10 1:13 ` Andi Kleen
2009-01-09 23:12 ` Ingo Molnar
2009-01-09 23:24 ` Linus Torvalds
2009-01-10 1:01 ` Ingo Molnar
2009-01-10 1:06 ` Linus Torvalds
2009-01-10 1:20 ` Ingo Molnar
2009-01-10 1:34 ` Linus Torvalds
2009-01-10 1:08 ` Harvey Harrison
2009-01-10 1:30 ` Linus Torvalds
2009-01-10 5:03 ` H. Peter Anvin
2009-01-10 5:28 ` Linus Torvalds
2009-01-10 5:57 ` H. Peter Anvin
2009-01-11 0:54 ` Ingo Molnar
2009-01-12 1:56 ` Jamie Lokier
2009-01-12 8:40 ` Ingo Molnar
2009-01-10 1:18 ` Steven Rostedt
2009-01-10 1:39 ` Linus Torvalds
2009-01-10 1:41 ` Andrew Morton
2009-01-10 3:02 ` Andi Kleen
2009-01-11 12:26 ` David Woodhouse
2009-01-11 18:13 ` Andi Kleen
2009-01-11 19:25 ` Linus Torvalds
2009-01-11 20:14 ` gcc inlining heuristics was " Andi Kleen
2009-01-11 20:15 ` David Woodhouse
2009-01-11 20:34 ` Andi Kleen
2009-01-11 20:51 ` Linus Torvalds
2009-01-11 23:05 ` Linus Torvalds
2009-01-12 0:12 ` Andi Kleen
2009-01-12 0:21 ` Linus Torvalds
2009-01-12 0:52 ` Andi Kleen
2009-01-12 1:20 ` H. Peter Anvin
2009-01-12 18:06 ` Bernd Schmidt
2009-01-12 19:02 ` Linus Torvalds
2009-01-12 19:32 ` Andi Kleen
2009-01-12 19:22 ` H. Peter Anvin
2009-01-12 19:45 ` Linus Torvalds
2009-01-12 19:45 ` Linus Torvalds
2009-01-12 23:01 ` Jamie Lokier
2009-01-12 23:19 ` Linus Torvalds
2009-01-12 19:42 ` Linus Torvalds
2009-01-12 19:42 ` Linus Torvalds
2009-01-12 20:08 ` Linus Torvalds
2009-01-12 22:03 ` Bernd Schmidt
2009-01-13 0:21 ` Linus Torvalds
2009-01-13 1:30 ` Steven Rostedt
2009-01-19 0:13 ` Ingo Molnar
2009-01-19 6:22 ` Nick Piggin
2009-01-19 21:01 ` Linus Torvalds
2009-01-20 0:51 ` Nick Piggin
2009-01-20 12:38 ` Ingo Molnar
2009-01-20 19:49 ` David Woodhouse
2009-01-20 21:05 ` Ingo Molnar
2009-01-20 21:23 ` Linus Torvalds
2009-01-20 22:05 ` Ingo Molnar
2009-01-21 1:22 ` H. Peter Anvin
2009-01-21 8:54 ` Andi Kleen
2009-01-21 8:52 ` Nick Piggin
2009-01-21 9:20 ` Andi Kleen
2009-01-21 9:25 ` Nick Piggin
2009-01-21 9:54 ` Andi Kleen
2009-01-21 10:14 ` Nick Piggin
2009-01-20 4:20 ` Andi Kleen
2009-01-20 17:43 ` Miguel F Mascarenhas Sousa Filipe
2009-01-12 19:55 ` Bernd Schmidt
2009-01-12 20:11 ` Linus Torvalds
2009-01-12 7:59 ` Hard to debug kernel issues (was Re: [PATCH -v7][RFC]: mutex: implement adaptive spinning) Chris Samuel
2009-01-10 6:44 ` [PATCH -v7][RFC]: mutex: implement adaptive spinning H. Peter Anvin
2009-01-09 21:46 ` Linus Torvalds
2009-01-09 21:58 ` Ingo Molnar
2009-01-09 21:15 ` Andi Kleen
2009-01-08 19:59 ` Harvey Harrison
2009-01-09 1:44 ` H. Peter Anvin
2009-01-09 2:24 ` Harvey Harrison
2009-01-09 5:05 ` H. Peter Anvin
2009-01-09 3:35 ` Andi Kleen
2009-01-09 3:42 ` Linus Torvalds
2009-01-09 6:57 ` Andi Kleen
2009-01-09 6:00 ` Andrew Morton
2009-01-09 6:58 ` Andi Kleen
2009-01-09 13:05 ` Chris Mason
2009-01-08 17:23 ` Peter Zijlstra
2009-01-07 22:54 ` [PATCH -v5][RFC]: " Dave Kleikamp
2009-01-07 23:19 ` Linus Torvalds
2009-01-07 23:49 ` Steven Rostedt
2009-01-07 23:57 ` Linus Torvalds
2009-01-08 2:18 ` KAMEZAWA Hiroyuki
2009-01-08 2:33 ` Steven Rostedt
2009-01-08 2:49 ` KAMEZAWA Hiroyuki
2009-01-08 6:52 ` Andi Kleen
2009-01-08 14:24 ` Steven Rostedt
2009-01-08 14:45 ` Andi Kleen
2009-01-07 21:37 ` Andi Kleen
2009-01-07 21:35 ` Andrew Morton
2009-01-07 17:20 ` [PATCH -v4][RFC]: " Chris Mason
2009-01-07 17:50 ` Linus Torvalds
2009-01-07 18:00 ` Chris Mason
2009-01-07 3:57 ` [PATCH][RFC]: mutex: adaptive spin Lai Jiangshan
2009-01-07 6:32 ` Peter Zijlstra
2009-01-07 7:34 ` Lai Jiangshan
2009-01-07 13:35 ` Matthew Wilcox
2009-01-06 22:31 ` Paul E. McKenney
2009-01-06 15:55 ` Linus Torvalds
2009-01-06 16:11 ` Linus Torvalds
2009-01-06 16:28 ` Steven Rostedt
2009-01-06 16:40 ` Linus Torvalds
2009-01-06 16:42 ` Linus Torvalds
2009-01-06 17:02 ` Ingo Molnar
2009-01-06 16:54 ` Ingo Molnar
2009-01-06 16:56 ` Ingo Molnar
2009-01-06 16:59 ` Linus Torvalds
2009-01-06 16:19 ` Chris Mason
2009-01-10 17:52 ` Pavel Machek
2009-01-06 13:29 ` Nick Piggin
2009-01-06 16:23 ` Chris Mason
2009-01-06 17:08 ` Andrew Morton
2009-01-06 17:37 ` Steven Rostedt
2009-01-06 18:02 ` Linus Torvalds
2009-01-06 18:20 ` Steven Rostedt
2009-01-06 18:28 ` Linus Torvalds
2009-01-06 18:25 ` Linus Torvalds
2009-01-06 19:03 ` Steven Rostedt
2009-01-05 14:34 ` Chris Mason [this message]
2009-01-04 8:32 ` Btrfs for mainline Gabor MICSKO
2009-01-05 14:35 ` Chris Mason
2009-01-05 15:01 ` Tomasz Torcz
2009-01-05 16:30 ` Chris Mason
2009-01-06 19:41 ` Chris Mason
2009-01-07 9:33 ` David Woodhouse
2009-01-07 18:45 ` Chris Mason
2009-01-08 20:15 ` jim owens
2009-01-11 23:34 ` Andrew Morton
2009-01-12 13:58 ` Chris Mason
2009-01-12 15:14 ` Miguel Figueiredo Mascarenhas Sousa Filipe
2009-01-12 15:17 ` Chris Mason
-- strict thread matches above, loose matches on Subject: below --
2008-12-31 19:49 Roland
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1231166063.4290.37.camel@think.oraclecorp.com \
--to=chris.mason@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=andi@firstfloor.org \
--cc=ghaskins@novell.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=matthew@wil.cx \
--cc=mingo@elte.hu \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.