From: "Peter W. Morreale" <pmorreale@novell.com>
To: Rik van Riel <riel@redhat.com>
Cc: rostedt@goodmis.org, Darren Hart <dvhltc@us.ibm.com>,
"lkml," <linux-kernel@vger.kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Gregory Haskins <ghaskins@novell.com>,
Sven-Thorsten Dietrich <sdietrich@novell.com>,
Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@elte.hu>,
Eric Dumazet <eric.dumazet@gmail.com>,
Chris Mason <chris.mason@oracle.com>,
john cooper <john.cooper@third-harmonic.com>
Subject: Re: RFC: Ideal Adaptive Spinning Conditions
Date: Sun, 04 Apr 2010 09:06:04 -0600 [thread overview]
Message-ID: <1270393564.2997.141.camel@hermosa.site> (raw)
In-Reply-To: <4BB7F05A.6010102@redhat.com>
On Sat, 2010-04-03 at 21:50 -0400, Rik van Riel wrote:
> On 03/31/2010 10:25 PM, Steven Rostedt wrote:
> > On Wed, 2010-03-31 at 19:13 -0700, Darren Hart wrote:
> >> Steven Rostedt wrote:
> >>> On Wed, 2010-03-31 at 16:21 -0700, Darren Hart wrote:
> >>>
> >>>> o What type of lock hold times do we expect to benefit?
> >>>
> >>> 0 (that's a zero) :-p
> >>>
> >>> I haven't seen your patches but you are not doing a heuristic approach,
> >>> are you? That is, do not "spin" hoping the lock will suddenly become
> >>> free. I was against that for -rt and I would be against that for futex
> >>> too.
> >>
> >> I'm not sure what you're getting at here. Adaptive spinning is indeed
> >> hoping the lock will become free while you are spinning and checking
> >> it's owner...
> >
> > I'm talking about the original idea people had of "lets spin for 50us
> > and hope it is unlocked before then", which I thought was not a good
> > idea.
>
> Maybe not a good idea when running on bare metal, but it
> could be a big help when running virtualized.
>
> A lock with a short hold time can, occasionally, have a
> very long hold time, when the VCPU holding the lock is
> preempted by the host/hypervisor.
>
> An adaptive lock would spin-and-acquire if the lock holder
> is running, while turning into a sleep lock when the lock
> holder has been preempted.
>
Which is precisely what the RT variant does. Each iteration of the
'spin' loop verifies that the lock owner is on CPU. If the owner is
not, all other tasks stop spinning and sleep.
So how does a timeout help in the VCPU case?
Best,
-PWM
next prev parent reply other threads:[~2010-04-04 15:06 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-31 23:21 Darren Hart
2010-03-31 23:35 ` Roland Dreier
2010-04-01 2:03 ` Darren Hart
2010-04-01 17:02 ` Chris Wright
2010-03-31 23:38 ` Steven Rostedt
2010-04-01 0:17 ` Peter W. Morreale
2010-04-01 2:25 ` Darren Hart
2010-04-03 18:00 ` john cooper
2010-04-05 14:06 ` Darren Hart
2010-04-03 17:51 ` john cooper
2010-04-01 2:13 ` Darren Hart
2010-04-01 2:25 ` Steven Rostedt
2010-04-01 5:15 ` Darren Hart
2010-04-01 12:46 ` Gregory Haskins
2010-04-04 1:50 ` Rik van Riel
2010-04-04 15:06 ` Peter W. Morreale [this message]
2010-04-05 14:10 ` Darren Hart
2010-04-01 2:10 ` Darren Hart
2010-04-01 14:04 ` Chris Mason
2010-04-01 14:20 ` Avi Kivity
2010-04-01 15:54 ` Darren Hart
2010-04-01 16:10 ` Avi Kivity
2010-04-01 17:10 ` Darren Hart
2010-04-01 17:15 ` Avi Kivity
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1270393564.2997.141.camel@hermosa.site \
--to=pmorreale@novell.com \
--cc=chris.mason@oracle.com \
--cc=dvhltc@us.ibm.com \
--cc=eric.dumazet@gmail.com \
--cc=ghaskins@novell.com \
--cc=john.cooper@third-harmonic.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=peterz@infradead.org \
--cc=riel@redhat.com \
--cc=rostedt@goodmis.org \
--cc=sdietrich@novell.com \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®