linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andi Kleen <andi@firstfloor.org>
To: dor.laor@qumranet.com
Cc: Andi Kleen <andi@firstfloor.org>,
	linux-kernel@vger.kernel.org, tglx@linutronix.de
Subject: Re: Performance overhead of get_cycles_sync
Date: Tue, 11 Dec 2007 16:02:25 +0100	[thread overview]
Message-ID: <20071211150225.GC16750@one.firstfloor.org> (raw)
In-Reply-To: <475EA54C.4090306@qumranet.com>

On Tue, Dec 11, 2007 at 04:57:16PM +0200, Dor Laor wrote:
> Andi Kleen wrote:
> >[headers rewritten because of gmane crosspost breakage]
> >
> >  
> >>In the latest kernel (2.6.24-rc3) I noticed a drastic performance 
> >>decrease for KVM networking.
> >>    
> >
> >That should not have changed for quite some time.
> >
> >Also it depends on the CPU of course.
> >  
> I didn't find the exact place of the change but using fedora 2.6.23-8 
> there is no problem.
> 3aefbe0746580a710d4392a884ac1e4aac7c728f turn X86_FEATURE_SYNC_RDTSC  
> off for most
> intel cpus, but it was committed in May.

Ah there was a change to enable it on Core2. On AMD it was 
always there except on CPUs with RDTSCP

Anyways the very likely right way (I'm still waiting for final
confirmation from Intel) to solve this is to use LFENCE which
happens to stop RDTSC and is relatively light weight and won't
cause vmexits. Unfortunately that doesn't work on AMD, but 
there MFENCE happens to work. But there are more problems
in this code which I have a (.24) patchkit to fix.

> According to Intel spec it is a serializing instruction along with cpuid 
> and others.

You're right. The real roblem is that it is ring 0 only and that can
be executed in ring 3. That is why Ingo's patch was wrong too.

-Andi

      reply	other threads:[~2007-12-11 15:02 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-11 13:11 Performance overhead of get_cycles_sync Dor Laor
2007-12-11 13:37 ` Ingo Molnar
2007-12-11 14:14   ` Dor Laor
     [not found]   ` <475E9A92.4030001@qumranet.com>
2007-12-11 14:27     ` Ingo Molnar
2007-12-11 15:03       ` Dor Laor
2007-12-11 16:35       ` Arjan van de Ven
2007-12-11 17:03         ` Ingo Molnar
2007-12-11 17:23           ` Andi Kleen
2007-12-11 20:19             ` Ingo Molnar
2007-12-11 20:29               ` Ingo Molnar
2007-12-11 21:26       ` [kvm-devel] " Joerg Roedel
2007-12-11 14:27 ` Andi Kleen
2007-12-11 14:57   ` Dor Laor
2007-12-11 15:02     ` Andi Kleen [this message]

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=20071211150225.GC16750@one.firstfloor.org \
    --to=andi@firstfloor.org \
    --cc=dor.laor@qumranet.com \
    --cc=linux-kernel@vger.kernel.org \
    --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;
as well as URLs for NNTP newsgroup(s).