Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755414AbZAGXxa (ORCPT ); Wed, 7 Jan 2009 18:53:30 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751081AbZAGXxT (ORCPT ); Wed, 7 Jan 2009 18:53:19 -0500 Received: from smtp1.linux-foundation.org ([140.211.169.13]:56599 "EHLO smtp1.linux-foundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750780AbZAGXxS (ORCPT ); Wed, 7 Jan 2009 18:53:18 -0500 Date: Wed, 7 Jan 2009 15:52:46 -0800 (PST) From: Linus Torvalds X-X-Sender: torvalds@localhost.localdomain To: Steven Rostedt cc: Gregory Haskins , Ingo Molnar , Andi Kleen , Matthew Wilcox , Peter Zijlstra , paulmck@linux.vnet.ibm.com, Chris Mason , Andrew Morton , Linux Kernel Mailing List , linux-fsdevel , linux-btrfs , Thomas Gleixner , Nick Piggin , Peter Morreale , Sven Dietrich Subject: Re: [PATCH -v5][RFC]: mutex: implement adaptive spinning In-Reply-To: Message-ID: References: <1231283778.11687.136.camel@twins> <1231329783.11687.287.camel@twins> <1231347442.11687.344.camel@twins> <20090107210923.GV2002@parisc-linux.org> <20090107213924.GP496@one.firstfloor.org> <49652C7C.3000909@novell.com> <20090107223317.GB27629@elte.hu> <4965331E.8090202@novell.com> User-Agent: Alpine 2.00 (LFD 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 994 Lines: 27 On Wed, 7 Jan 2009, Steven Rostedt wrote: > > On Wed, 7 Jan 2009, Steven Rostedt wrote: > > > > True. I need to keep looking at the code that is posted. In -rt, we force > > the fast path into the slowpath as soon as another task fails to get the > > lock. Without that, as you pointed out, the code can be racy. > > I mean we force the fast unlock path into the slow path as soon as another > task fails to get the lock. I think the mainline mutex code does that all right too - we keep the counter negative all the time when it has contention. So the original model where the spinning was done only after we'd gotten the spinlock probably was correct. However, it _is_ a lot more expensive than the "optimistic spin" model. Linus -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/