public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Jan Beulich <JBeulich@novell.com>
Cc: jeremy.fitzhardinge@citrix.com, mingo@elte.hu,
	tglx@linutronix.de, Ky Srinivasan <KSrinivasan@novell.com>,
	linux-kernel@vger.kernel.org, hpa@zytor.com
Subject: Re: [PATCH 1/4, v2] x86: enlightenment for ticket spin locks - base implementation
Date: Wed, 30 Jun 2010 11:11:56 +0200	[thread overview]
Message-ID: <1277889116.1868.95.camel@laptop> (raw)
In-Reply-To: <4C2B23CD0200007800008BFA@vpn.id2.novell.com>

On Wed, 2010-06-30 at 10:00 +0100, Jan Beulich wrote:
> >>> On 30.06.10 at 10:05, Peter Zijlstra <peterz@infradead.org> wrote:
> > On Tue, 2010-06-29 at 15:31 +0100, Jan Beulich wrote:
> >> Add optional (alternative instructions based) callout hooks to the
> >> contended ticket lock and the ticket unlock paths, to allow hypervisor
> >> specific code to be used for reducing/eliminating the bad effects
> >> ticket locks have on performance when running virtualized.
> > 
> > Uhm, I'd much rather see a single alternative implementation, not a
> > per-hypervisor lock implementation.
> 
> How would you imaging this to work? I can't see how the mechanism
> could be hypervisor agnostic. Just look at the Xen implementation
> (patch 2) - do you really see room for meaningful abstraction there?

I tried not to, it made my eyes bleed.. 

But from what I hear all virt people are suffering from spinlocks (and
fair spinlocks in particular), so I was thinking it'd be a good idea to
get all interested parties to collaborate on one. Fragmentation like
this hardly ever works out well.

> Not the least that not every hypervisor may even have a way to
> poll for events (like Xen does), in which case a simple yield may be
> needed instead.

No idea what you're talking about, I think you assume I actually know
something about Xen or virt..

> >> For the moment, this isn't intended to be used together with pv-ops,
> >> but this is just to simplify initial integration. The ultimate goal
> >> for this should still be to replace pv-ops spinlocks.
> > 
> > So why not start by removing that?
> 
> Because I wouldn't get around to test it within the time constraints
> I have?

I'd say that removing basically dead code (the paravirt spinlocks) the
code you'd be changing was easier to follow and thus your patches would
be done quicker?

> >> +#define ALTERNATIVE_TICKET_LOCK \
> > 
> > But but but, the alternative isn't a ticket lock..!?
> 
> ??? Of course it is. 

Ah, right, after looking a bit more at patch 2 I see you indeed
implement a ticket like lock. Although why you need both a ticket and a
FIFO list is beyond me.


  reply	other threads:[~2010-06-30  9:12 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-29 14:31 [PATCH 1/4, v2] x86: enlightenment for ticket spin locks - base implementation Jan Beulich
2010-06-30  8:05 ` Peter Zijlstra
2010-06-30  9:00   ` Jan Beulich
2010-06-30  9:11     ` Peter Zijlstra [this message]
2010-06-30  9:56       ` Jeremy Fitzhardinge
2010-06-30 11:43         ` Jan Beulich
2010-06-30 11:48           ` Peter Zijlstra
2010-06-30 11:54             ` Jan Beulich
2010-06-30 10:50       ` Jeremy Fitzhardinge
2010-06-30 11:52         ` Jan Beulich
2010-06-30 12:53           ` Jeremy Fitzhardinge
2010-06-30 13:21             ` Jan Beulich
2010-06-30 13:28               ` Jeremy Fitzhardinge
2010-06-30  9:26   ` Peter Zijlstra
2010-06-30  9:32     ` Gleb Natapov
2010-06-30  8:24 ` Peter Zijlstra

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=1277889116.1868.95.camel@laptop \
    --to=peterz@infradead.org \
    --cc=JBeulich@novell.com \
    --cc=KSrinivasan@novell.com \
    --cc=hpa@zytor.com \
    --cc=jeremy.fitzhardinge@citrix.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --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