[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.00.0901080849550.3283@localhost.localdomain>
Date: Thu, 8 Jan 2009 08:58:06 -0800 (PST)
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Peter Zijlstra <peterz@...radead.org>
cc: Ingo Molnar <mingo@...e.hu>, Steven Rostedt <rostedt@...dmis.org>,
paulmck@...ux.vnet.ibm.com, Gregory Haskins <ghaskins@...ell.com>,
Matthew Wilcox <matthew@....cx>,
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>
Subject: Re: [PATCH -v7][RFC]: mutex: implement adaptive spinning
Ok, I've gone through -v7, and I'm sure you're all shocked to hear it, but
I have no complaints. Except that you dropped all the good commit
commentary you had earlier ;)
The patch looks pretty good (except for the big "#if 0" block in
mutex-debug.c that I hope gets fixed, but I can't even really claim that I
can be bothered), the locking looks fine (ie no locking at all), and the
numbers seem pretty convinving.
Oh, and I think the open-coded
atomic_cmpxchg(count, 1, 0) == 1
could possibly just be replaced with a simple __mutex_fastpath_trylock().
I dunno.
IOW, I'd actually like to take it, but let's give it at least a day or
two. Do people have any concerns?
And as far as I'm concerned, the nice part about not having any locking
there is that now the spinning has no impact what-so-ever on the rest of
the mutex logic. There are no subtleties about any of that - it's
literally about falling back to a (fairly educated) "try a few trylocks if
you fail". So it _looks_ pretty robust. I don't think there should be any
subtle interactions with anything else. If the old mutexes worked, then
the spinning should work.
Discussion?
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