All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marcelo Tosatti <mtosatti@redhat.com>
To: Gleb Natapov <gleb@redhat.com>
Cc: kvm-devel <kvm@vger.kernel.org>, Glauber Costa <glommer@gmail.com>
Subject: Re: KVM: x86: limit difference between kvmclock updates
Date: Wed, 15 May 2013 16:01:13 -0300	[thread overview]
Message-ID: <20130515190113.GA11349@amt.cnet> (raw)
In-Reply-To: <20130515174154.GD24814@redhat.com>

On Wed, May 15, 2013 at 08:41:54PM +0300, Gleb Natapov wrote:
> On Tue, May 14, 2013 at 10:12:57AM -0300, Marcelo Tosatti wrote:
> > On Tue, May 14, 2013 at 12:05:13PM +0300, Gleb Natapov wrote:
> > > On Thu, May 09, 2013 at 08:21:41PM -0300, Marcelo Tosatti wrote:
> > > > 
> > > > kvmclock updates which are isolated to a given vcpu, such as vcpu->cpu
> > > > migration, should not allow system_timestamp from the rest of the vcpus
> > > > to remain static. Otherwise ntp frequency correction applies to one
> > > > vcpu's system_timestamp but not the others.
> > > > 
> > > > So in those cases, request a kvmclock update for all vcpus. The worst
> > > > case for a remote vcpu to update its kvmclock is then bounded by maximum
> > > > nohz sleep latency.
> > > > 
> > > Does this mean that when one vcpu is migrated all others are kicked out
> > > from a guest mode?
> > 
> > Yes, those which are in guest mode. For guests with large number of
> > vcpus this is a problem, but i can't see a simpler method to fix the bug
> > for now.
> > 
> > Yes, this aspect must be improved (however, the bug incurs on timers in
> > the guest taking tens of milliseconds with vcpu->pcpu pinning, which can
> > be unacceptable).
> Not sure I understand. With vcpu->pcpu pinning there will be no
> migration. Do you mean "without" here?

With vcpu->pcpu pinning there is no guarantee of kvm_arch_vcpu_load therefore 
no KVM_REQ_UPDATE_CLOCK. This is the problem.

> If vcpu->kvm->arch.use_master_clock is false we kick vcpus on each
> vcpu_load. When is it false?

When

- the host does not use TSC clocksource
or 
- the vcpus TSCs are out of sync

> I applied the patch since it fixes the real problem, but we need to
> evaluate how it affects scalability.

I'll look into ways to reduce the IPIs.


      reply	other threads:[~2013-05-15 19:01 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-09 23:21 KVM: x86: limit difference between kvmclock updates Marcelo Tosatti
2013-05-14  9:05 ` Gleb Natapov
2013-05-14 13:12   ` Marcelo Tosatti
2013-05-15 17:41     ` Gleb Natapov
2013-05-15 19:01       ` Marcelo Tosatti [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=20130515190113.GA11349@amt.cnet \
    --to=mtosatti@redhat.com \
    --cc=gleb@redhat.com \
    --cc=glommer@gmail.com \
    --cc=kvm@vger.kernel.org \
    /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.