From mboxrd@z Thu Jan 1 00:00:00 1970 From: Linus Torvalds Subject: Re: [PATCH][RFC]: mutex: adaptive spin Date: Tue, 6 Jan 2009 10:28:38 -0800 (PST) Message-ID: References: <1230722935.4680.5.camel@think.oraclecorp.com> <20081231104533.abfb1cf9.akpm@linux-foundation.org> <1230765549.7538.8.camel@think.oraclecorp.com> <87r63ljzox.fsf@basil.nowhere.org> <20090103191706.GA2002@parisc-linux.org> <1231093310.27690.5.camel@twins> <20090104184103.GE2002@parisc-linux.org> <1231242031.11687.97.camel@twins> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Cc: Peter Zijlstra , Matthew Wilcox , Andi Kleen , Chris Mason , Andrew Morton , linux-kernel@vger.kernel.org, linux-fsdevel , linux-btrfs , Ingo Molnar , Thomas Gleixner , Gregory Haskins , Nick Piggin To: Steven Rostedt Return-path: In-Reply-To: List-ID: On Tue, 6 Jan 2009, Steven Rostedt wrote: > > Caching the rq is an interesting idea. But since the rq struct is local to > sched.c, what would be a good API to do this? Just move the whole "spin_or_schedule()" into sched.c, and you're all done. Yeah, that requires having sched.c know a bit about mutex locking rules, but the data structures are already exported in , and while _normal_ code should never care or know exactly how it is used, I think the scheduler might as well. Mutexes are clearly very much a scheduling entity, so it's not too much of a break with internal knowledge. Linus