[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.1.10.0901071806240.23456@gandalf.stny.rr.com>
Date: Wed, 7 Jan 2009 18:09:32 -0500 (EST)
From: Steven Rostedt <rostedt@...dmis.org>
To: Gregory Haskins <ghaskins@...ell.com>
cc: Ingo Molnar <mingo@...e.hu>, Andi Kleen <andi@...stfloor.org>,
Matthew Wilcox <matthew@....cx>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Peter Zijlstra <peterz@...radead.org>,
paulmck@...ux.vnet.ibm.com, 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 -v5][RFC]: mutex: implement adaptive spinning
On Wed, 7 Jan 2009, Gregory Haskins wrote:
> Hi Ingo,
>
> Ingo Molnar wrote:
> > * Gregory Haskins <ghaskins@...ell.com> wrote:
> >
> >
> >> Can I ask a simple question in light of all this discussion?
> >>
> >> "Is get_task_struct() really that bad?"
> >>
> >
> > it dirties a cacheline and it also involves atomics.
> >
> Yes, understood. But we should note we are always going to be talking
> about thrashing caches here since we are ultimately having one CPU
> observe another. There's no way to get around that. I understand that
> there are various degrees of this occurring, and I have no doubt that
> the proposed improvements strive to achieve a reduction of that. My
> question is really targeted at "at what cost".
>
> Don't get me wrong. I am not advocating going back to get/put-task per
> se. I am simply asking the question of whether we have taken the design
> off into the weeds having lost sight of the actual requirements and/or
> results. Its starting to smell like we have. This is just a friendly
> reality check. Feel free to disregard. ;)
What would be interesting is various benchmarks against all three.
1) no mutex spinning.
2) get_task_struct() implementation.
3) spin_or_sched implementation.
I believe that 2 happens to be the easiest to understand. No need to know
about the behavior of freed objects. If we see no or negligible
improvement between 2 and 3 on any benchmark, then I say we stick with 2.
-- Steve
--
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