qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Cc: edgar.iglesias@gmail.com
Subject: [Qemu-devel] [PATCH 0/4] Improve -icount, fix it with iothread
Date: Mon, 21 Feb 2011 09:51:22 +0100	[thread overview]
Message-ID: <1298278286-9158-1-git-send-email-pbonzini@redhat.com> (raw)

This series redoes the way time spent waiting for I/O is accounted to
the vm_clock.

The current code is advancing qemu_icount before waiting for I/O.
Instead, after the patch qemu_icount is left aside (it is a pure
instruction counter) and qemu_icount_bias is changed according to
the actual amount of time spent in the wait.  This is more
accurate, and actually works in the iothread case as well.

(I started this as an experiment while trying to understand what was
going on.  But it fixes the bug and does not break the no-iothread
case, so hey...).

Patch 1 is a cleanup to Edgar's commit 225d02c (Avoid deadlock whith
iothread and icount, 2011-01-23).

Patch 2 fixes another misunderstanding in the role of qemu_next_deadline.

Patches 3 and 4 implement the actual new accounting algorithm.

With these patches, iothread "-icount N" doesn't work when the actual
execution speed cannot keep up with the requested speed; the execution
in that case is not deterministic.  It works when the requested speed
is slow enough.

(side note: all occurrences of wrong braces are in code that is purely
moved and/or reindented, _and_ that in fact disappears in subsequent
patches.  So, I plead myself innocent).

Paolo Bonzini (4):
  do not use qemu_icount_delta in the !use_icount case
  qemu_next_deadline should not consider host-time timers
  rewrite accounting of wait time to the vm_clock
  inline qemu_icount_delta

 qemu-timer.c |  114 ++++++++++++++++++++++++---------------------------------
 1 files changed, 48 insertions(+), 66 deletions(-)

-- 
1.7.3.5

             reply	other threads:[~2011-02-21  8:51 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-21  8:51 Paolo Bonzini [this message]
2011-02-21  8:51 ` [Qemu-devel] [PATCH 1/4] do not use qemu_icount_delta in the !use_icount case Paolo Bonzini
2011-02-21  8:51 ` [Qemu-devel] [PATCH 2/4] qemu_next_deadline should not consider host-time timers Paolo Bonzini
2011-02-21  8:51 ` [Qemu-devel] [PATCH 3/4] rewrite accounting of wait time to the vm_clock Paolo Bonzini
2011-02-21  8:51 ` [Qemu-devel] [PATCH 4/4] inline qemu_icount_delta Paolo Bonzini
2011-02-23 10:18 ` [Qemu-devel] Re: [PATCH 0/4] Improve -icount, fix it with iothread Edgar E. Iglesias
2011-02-23 10:25   ` Paolo Bonzini
2011-02-23 11:08     ` Edgar E. Iglesias
2011-02-23 11:39       ` Jan Kiszka
2011-02-23 12:40         ` Edgar E. Iglesias
2011-02-23 12:45           ` Jan Kiszka
2011-02-25 19:33         ` Paolo Bonzini
2011-02-23 12:42       ` Paolo Bonzini
2011-02-23 16:27         ` Edgar E. Iglesias
2011-02-23 16:32           ` 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=1298278286-9158-1-git-send-email-pbonzini@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=edgar.iglesias@gmail.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).