qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Gleb Natapov <gleb@redhat.com>
Cc: Paul Brook <paul@codesourcery.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [RESEND][PATCH 0/3] Fix guest time drift under heavy load.
Date: Sun, 09 Nov 2008 10:36:59 -0600	[thread overview]
Message-ID: <491711AB.7000806@codemonkey.ws> (raw)
In-Reply-To: <20081108083620.GB19381@redhat.com>

Gleb Natapov wrote:
> On Thu, Nov 06, 2008 at 09:37:56AM -0600, Anthony Liguori wrote:
>   
>
> Yes indeed. With raw image copy benchmark no longer runs enough time to
> produce time drift big enough to be visible. So I ran this disk test
> utility http://69.90.47.6/mybootdisks.com/mybootdisks_com/nu2/bst514.zip
> for ~12 hours and the time drift was 12 secs (if I weren't so lazy and
> wrote bat file to copy c:\windows in a loop I am sure result would be the
> same). This is on completely idle host.
>   

What frequency is the guest running at?  If it's running at 100hz, then 
it missed a tick once every 36 seconds.  This means that the guest 
couldn't run long enough to handle a timer interrupt (which should be a 
relatively small number of cycles) in a 10ms period.

Does this drift go away with the TDF patches?  This almost makes me 
think that we aren't delivering interrupts at the right frequency and 
we're simply accumulating error.  In theory, the TDF patches shouldn't 
help that.

Otherwise, I'm curious if you have any insight into where we're pausing 
for 10ms that's causing the missed interrupt?

We could also be missing ticks somehow.  I think this warrants further 
investigation.

Regards,

Anthony Liguori

>   
>> I think the best ones are going to be intense host workload (and let's  
>> see how much is needed before we start drifting badly) and high guest  
>> frequencies with hosts that lack high resolution timers.  I think with a  
>> high resolution guest and no host overcommit, it should be very  
>> difficult to produce drift regardless of what the guest is doing.
>>
>>     
> Later I'll try to generate load on a host an see how this affects
> guest's time drift.
>
> --
> 			Gleb.
>   

  parent reply	other threads:[~2008-11-09 16:37 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-29 15:22 [Qemu-devel] [RESEND][PATCH 0/3] Fix guest time drift under heavy load Gleb Natapov
2008-10-29 15:22 ` [Qemu-devel] [PATCH 1/3] Change qemu_set_irq() to return status information Gleb Natapov
2008-10-29 15:22 ` [Qemu-devel] [PATCH 2/3] Fix time drift problem under high load when PIT is in use Gleb Natapov
2008-10-29 15:22 ` [Qemu-devel] [PATCH 3/3] Fix time drift problem under high load when RTC " Gleb Natapov
2008-11-05 12:46   ` Dor Laor
2008-10-31 19:17 ` [Qemu-devel] [RESEND][PATCH 0/3] Fix guest time drift under heavy load Anthony Liguori
2008-11-02 13:04   ` Gleb Natapov
2008-11-05 12:45     ` Dor Laor
2008-11-05 15:48       ` andrzej zaborowski
2008-11-05 16:33         ` Anthony Liguori
2008-11-06  7:16         ` Gleb Natapov
2008-11-06  9:37           ` andrzej zaborowski
2008-11-06 10:08             ` Gleb Natapov
2008-11-06 13:21               ` andrzej zaborowski
2008-11-06 14:18                 ` Gleb Natapov
2008-11-06 14:35                   ` andrzej zaborowski
2008-11-06 15:04                     ` Gleb Natapov
2008-11-06 15:41                       ` Anthony Liguori
2008-11-07 23:18                       ` andrzej zaborowski
2008-11-08  8:23                         ` Gleb Natapov
2008-11-06 13:44               ` Paul Brook
2008-11-05 17:43       ` Gleb Natapov
2008-11-06 17:28       ` David S. Ahern
2008-11-05 16:43     ` Anthony Liguori
2008-11-06  3:55       ` Jamie Lokier
2008-11-06  8:12       ` Gleb Natapov
2008-11-06 14:10         ` Anthony Liguori
2008-11-06 14:24           ` Paul Brook
2008-11-06 14:40             ` Anthony Liguori
2008-11-06 14:51               ` Gleb Natapov
2008-11-06 15:37                 ` Anthony Liguori
2008-11-08  8:36                   ` Gleb Natapov
2008-11-08 22:14                     ` Dor Laor
2008-11-09  7:40                     ` Gleb Natapov
2008-11-09 16:38                       ` Anthony Liguori
2008-11-09 21:00                         ` Avi Kivity
2008-11-09 16:36                     ` Anthony Liguori [this message]
2008-11-10 14:37                       ` Gleb Natapov
2008-11-10 15:24                         ` Anthony Liguori
2008-11-10 15:29                           ` Gleb Natapov
2008-11-10 15:46                             ` Anthony Liguori
2008-11-10 15:51                               ` Gleb Natapov
2008-11-11 14:43                               ` Gleb Natapov
2008-11-11 17:26                                 ` Anthony Liguori
2008-11-11 20:17                                 ` Anthony Liguori
2008-11-12 11:42                                   ` Gleb Natapov
2008-11-12 11:54                                     ` Glauber Costa
2008-11-12 12:38                                       ` Dor Laor
2008-11-06  3:41     ` Jamie Lokier

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=491711AB.7000806@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=gleb@redhat.com \
    --cc=paul@codesourcery.com \
    --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 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).