All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marcelo Tosatti <mtosatti@redhat.com>
To: Jan Kiszka <jan.kiszka@siemens.com>
Cc: qemu-devel <qemu-devel@nongnu.org>, kvm <kvm@vger.kernel.org>
Subject: Re: qemu-kvm upstreaming: Do we need -no-kvm-pit and -no-kvm-pit-reinjection semantics?
Date: Fri, 20 Jan 2012 08:14:42 -0200	[thread overview]
Message-ID: <20120120101441.GA31499@amt.cnet> (raw)
In-Reply-To: <4F185A88.5030904@siemens.com>

On Thu, Jan 19, 2012 at 07:01:44PM +0100, Jan Kiszka wrote:
> On 2012-01-19 18:53, Marcelo Tosatti wrote:
> >> What problems does it cause, and in which scenarios? Can't they be
> >> fixed?
> > 
> > If the guest compensates for lost ticks, and KVM reinjects them, guest
> > time advances faster then it should, to the extent where NTP fails to
> > correct it. This is the case with RHEL4.
> > 
> > But for example v2.4 kernel (or Windows with non-acpi HAL) do not
> > compensate. In that case you want KVM to reinject.
> > 
> > I don't know of any other way to fix this.
> 
> OK, i see. The old unsolved problem of guessing what is being executed.
> 
> Then the next question is how and where to control this. Conceptually,
> there should rather be a global switch say "compensate for lost ticks of
> periodic timers: yes/no" - instead of a per-timer knob. Didn't we
> discussed something like this before?

I don't see the advantage of a global control versus per device
control (in fact it lowers flexibility).

> What about periodic APIC tick compensation? I suppose the kernel does
> not support this as no common guest makes use of this as clock source,
> right? 

Recent guests use the APIC timer as clock event, but their time keeping 
algorithms are not as susceptible to lost ticks as the ones that use 
PIT/RTC.

> Or the HPET? Once the user space model supports compensation, we
> need to control it as well. Individually?

Ulrich has posted patches for HPET compensation:

http://lists.gnu.org/archive/html/qemu-devel/2011-03/msg01989.html

> I just want to avoid introducing an clumsy interface we then need to
> maintain for a long time.
> 
> Jan

If the option is a qdev property, i don't see what is clumsy about it?

WARNING: multiple messages have this Message-ID (diff)
From: Marcelo Tosatti <mtosatti@redhat.com>
To: Jan Kiszka <jan.kiszka@siemens.com>
Cc: qemu-devel <qemu-devel@nongnu.org>, kvm <kvm@vger.kernel.org>
Subject: Re: [Qemu-devel] qemu-kvm upstreaming: Do we need -no-kvm-pit and -no-kvm-pit-reinjection semantics?
Date: Fri, 20 Jan 2012 08:14:42 -0200	[thread overview]
Message-ID: <20120120101441.GA31499@amt.cnet> (raw)
In-Reply-To: <4F185A88.5030904@siemens.com>

On Thu, Jan 19, 2012 at 07:01:44PM +0100, Jan Kiszka wrote:
> On 2012-01-19 18:53, Marcelo Tosatti wrote:
> >> What problems does it cause, and in which scenarios? Can't they be
> >> fixed?
> > 
> > If the guest compensates for lost ticks, and KVM reinjects them, guest
> > time advances faster then it should, to the extent where NTP fails to
> > correct it. This is the case with RHEL4.
> > 
> > But for example v2.4 kernel (or Windows with non-acpi HAL) do not
> > compensate. In that case you want KVM to reinject.
> > 
> > I don't know of any other way to fix this.
> 
> OK, i see. The old unsolved problem of guessing what is being executed.
> 
> Then the next question is how and where to control this. Conceptually,
> there should rather be a global switch say "compensate for lost ticks of
> periodic timers: yes/no" - instead of a per-timer knob. Didn't we
> discussed something like this before?

I don't see the advantage of a global control versus per device
control (in fact it lowers flexibility).

> What about periodic APIC tick compensation? I suppose the kernel does
> not support this as no common guest makes use of this as clock source,
> right? 

Recent guests use the APIC timer as clock event, but their time keeping 
algorithms are not as susceptible to lost ticks as the ones that use 
PIT/RTC.

> Or the HPET? Once the user space model supports compensation, we
> need to control it as well. Individually?

Ulrich has posted patches for HPET compensation:

http://lists.gnu.org/archive/html/qemu-devel/2011-03/msg01989.html

> I just want to avoid introducing an clumsy interface we then need to
> maintain for a long time.
> 
> Jan

If the option is a qdev property, i don't see what is clumsy about it?

  reply	other threads:[~2012-01-20 10:14 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-19  8:33 qemu-kvm upstreaming: Do we need -no-kvm-pit and -no-kvm-pit-reinjection semantics? Jan Kiszka
2012-01-19  8:33 ` [Qemu-devel] " Jan Kiszka
2012-01-19 17:25 ` Marcelo Tosatti
2012-01-19 17:25   ` [Qemu-devel] " Marcelo Tosatti
2012-01-19 17:38   ` Jan Kiszka
2012-01-19 17:38     ` [Qemu-devel] " Jan Kiszka
2012-01-19 17:53     ` Marcelo Tosatti
2012-01-19 17:53       ` [Qemu-devel] " Marcelo Tosatti
2012-01-19 18:01       ` Jan Kiszka
2012-01-19 18:01         ` [Qemu-devel] " Jan Kiszka
2012-01-20 10:14         ` Marcelo Tosatti [this message]
2012-01-20 10:14           ` Marcelo Tosatti
2012-01-20 10:22           ` Jan Kiszka
2012-01-20 10:22             ` [Qemu-devel] " Jan Kiszka
2012-01-20 10:25             ` Daniel P. Berrange
2012-01-20 11:13               ` Jan Kiszka
2012-01-20 11:45                 ` Daniel P. Berrange
2012-01-20 12:00                   ` Jan Kiszka
2012-01-20 12:42                     ` Daniel P. Berrange
2012-01-20 12:51                       ` Jan Kiszka
2012-01-20 12:54                         ` Daniel P. Berrange
2012-01-20 13:02                           ` Jan Kiszka
2012-01-20 13:06                             ` Daniel P. Berrange
2012-01-20 10:39             ` Jamie Lokier
2012-01-20 10:39               ` [Qemu-devel] " Jamie Lokier
2012-01-20 11:13               ` Jan Kiszka
2012-01-20 12:00                 ` Paolo Bonzini

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=20120120101441.GA31499@amt.cnet \
    --to=mtosatti@redhat.com \
    --cc=jan.kiszka@siemens.com \
    --cc=kvm@vger.kernel.org \
    --cc=qemu-devel@nongnu.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.