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
next 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).