All of lore.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.