Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1765154AbZAOT2Q (ORCPT ); Thu, 15 Jan 2009 14:28:16 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1757299AbZAOT1y (ORCPT ); Thu, 15 Jan 2009 14:27:54 -0500 Received: from rcsinet13.oracle.com ([148.87.113.125]:19562 "EHLO rgminet13.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757155AbZAOT1x (ORCPT ); Thu, 15 Jan 2009 14:27:53 -0500 Subject: Re: [GIT PULL] adaptive spinning mutexes From: Chris Mason To: Linus Torvalds Cc: Ingo Molnar , Matthew Wilcox , Peter Zijlstra , "Paul E. McKenney" , Gregory Haskins , Andi Kleen , Andrew Morton , Linux Kernel Mailing List , linux-fsdevel , linux-btrfs , Thomas Gleixner , Nick Piggin , Peter Morreale , Sven Dietrich , Dmitry Adamushko , Johannes Weiner In-Reply-To: References: <1231863710.7141.3.camel@twins> <1231864854.7141.8.camel@twins> <1231867314.7141.16.camel@twins> <1231952436.14825.28.camel@laptop> <20090114183319.GA18630@elte.hu> <20090114184746.GA21334@elte.hu> <20090114192811.GA19691@elte.hu> <20090115174440.GF29283@parisc-linux.org> <20090115180844.GL22472@elte.hu> Content-Type: text/plain Date: Thu, 15 Jan 2009 14:26:58 -0500 Message-Id: <1232047618.8269.93.camel@think.oraclecorp.com> Mime-Version: 1.0 X-Mailer: Evolution 2.24.1 Content-Transfer-Encoding: 7bit X-Source-IP: acsmt700.oracle.com [141.146.40.70] X-Auth-Type: Internal IP X-CT-RefId: str=0001.0A090205.496F8E09.0054:SCFSTAT928724,ss=1,fgs=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1412 Lines: 39 On Thu, 2009-01-15 at 10:16 -0800, Linus Torvalds wrote: > > On Thu, 15 Jan 2009, Ingo Molnar wrote: > > > > 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. > > Umm. Except if you wrote the code nicely and used spinlocks, you wouldn't > hold the lock over all those unnecessary and complex operations. > While this is true, there are examples of places we should expect speedups for this today. Concurrent file creation/deletion in a single dir will often find things hot in cache and not have to block anywhere (mail spools). Concurrent O_DIRECT aio writes to the same file, where i_mutex is dropped early on. pipes should see a huge improvement. I'll kick off some runs of my three benchmarks on ext3 for comparison. If there are things less synthetic people would like to see, please let me know. -chris -- 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/