public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>, Pekka Enberg <penberg@kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Sasha Levin <levinsasha928@gmail.com>
Subject: Re: [patch 0/3] kvm tool: Serial emulation overhaul
Date: Tue, 13 Dec 2011 16:23:52 +0200	[thread overview]
Message-ID: <4EE75FF8.5060208@redhat.com> (raw)
In-Reply-To: <alpine.LFD.2.02.1112131434320.3020@ionos>

On 12/13/2011 03:52 PM, Thomas Gleixner wrote:
> On Tue, 13 Dec 2011, Avi Kivity wrote:
>
> > On 12/13/2011 02:59 AM, Thomas Gleixner wrote:
> > 
> > <snip trace>
> > > Why the heck is a paravirtualized guest using an local APIC timer
> > > emulation, instead of a paravirtualized clock event device?
> > >
> > > Just look at the trace. That's insane. We enter the guest for 2us to
> > > come back and handle the APIC_EOI for 11us. Then we go back to the
> > > guest for 9us and spend again 11us for handling a write to APIC_TMICT.
> > >
> > > That's 11us guest vs. 22us host time.
> > 
> > Run your guest with x2apic enabled, the timing will be very different. 
>
> And what magic do I have to use to make that happen other than having
> x2apic support enabled in the kernel? Or do I need a certain kernel
> version for host and guest to make that work?

With qemu, -cpu host or -cpu blah,+x2apic.  kvm-tool does the equivalent
of -cpu host, so I'm surprised it doesn't show up.  x2apic has been
recognized by the guest for a long time (ce69a784; 2.6.32, I'll be
surprised if you have anything older than that on your machine).

Does x2apic show up in your guest's /proc/cpuinfo?

> > The problem with paravirt clockevents is that if/when the APIC becomes
> > virtualized, then guests which were started with the paravirt
> > clockevents don't get accelerated when they are migrated onto newer
> > hardware.  This problem has bitten us several times in the past; if you
> > want to see how it looks when applied on a large scale look at Xen -
> > they have a paravirt-the-fsck-out-of-everything mode and a full virt
> > mode (which should be way faster these days); the two aren't
> > compatible.  Of course back when they started, they didn't have a
> > choice, but we do.
>
> Well, I can see the migration pain for life migration and I agree that
> paravirt the world and some more is a horror as well. Though there is
> a midground between everything and being smart about certain
> aspects. 

Agree, clocksource is one example where the gain exceeds the pain.

> The whole APIC timer calibration and the back and forth
> conversion is definitely nothing which falls into the category of
> smart.

APIC timer calibration is silly but it hasn't proven to be a real-world
problem.

-- 
error compiling committee.c: too many arguments to function


  reply	other threads:[~2011-12-13 14:24 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-10 13:27 [patch 0/3] kvm tool: Serial emulation overhaul Thomas Gleixner
2011-12-10 13:27 ` [patch 1/3] kvm tool: serial: Cleanup coding style Thomas Gleixner
2011-12-10 13:27 ` [patch 3/3] kvm tool: serial: Fix interrupt handling Thomas Gleixner
2011-12-10 13:27 ` [patch 2/3] kvm tool: serial: Simplify switch cases Thomas Gleixner
2011-12-10 15:17 ` [patch 0/3] kvm tool: Serial emulation overhaul Pekka Enberg
2011-12-10 20:51   ` Thomas Gleixner
2011-12-11  8:15     ` Pekka Enberg
2011-12-11 10:30       ` Ingo Molnar
2011-12-11 10:46         ` Ingo Molnar
2011-12-11 14:04         ` Thomas Gleixner
2011-12-11 15:53           ` Ingo Molnar
2011-12-12  5:30             ` Sasha Levin
2011-12-12 11:12               ` Ingo Molnar
2011-12-12 11:20                 ` Alan Cox
2011-12-12 17:20                   ` Ingo Molnar
2011-12-12 18:16                   ` Avi Kivity
2011-12-12 18:16                   ` Avi Kivity
2011-12-12 21:36                     ` Alan Cox
2011-12-13 10:32                       ` Avi Kivity
2011-12-12 11:23                 ` Cyrill Gorcunov
2011-12-12 17:40                 ` Sasha Levin
2011-12-12 17:45                   ` Ingo Molnar
2011-12-12  9:42             ` Thomas Gleixner
2011-12-12 11:19             ` Pekka Enberg
2011-12-12 17:20               ` Ingo Molnar
2011-12-12 18:40                 ` Pekka Enberg
2011-12-12 19:14                   ` Pekka Enberg
2011-12-12 19:21                   ` Ingo Molnar
2011-12-13  0:59                     ` Thomas Gleixner
2011-12-13  7:03                       ` Pekka Enberg
2011-12-13 11:05                         ` Alan Cox
2011-12-13 10:58                       ` Avi Kivity
2011-12-13 13:52                         ` Thomas Gleixner
2011-12-13 14:23                           ` Avi Kivity [this message]
2011-12-13 14:30                             ` Sasha Levin
2011-12-13 14:51                             ` Thomas Gleixner
2011-12-13 14:58                               ` Avi Kivity
2011-12-12 21:03                   ` James Courtier-Dutton
2011-12-12 18:19               ` Avi Kivity
2011-12-12 18:31                 ` Pekka Enberg
2011-12-13 10:33                   ` Avi Kivity
2011-12-12 10:27           ` Alan Cox
2011-12-12 10:59             ` Sasha Levin
2011-12-12 11:02               ` Alan Cox
2011-12-12 18:21                 ` Avi Kivity
2011-12-12 17:21               ` Ingo Molnar

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=4EE75FF8.5060208@redhat.com \
    --to=avi@redhat.com \
    --cc=levinsasha928@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=penberg@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