qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Steffen Liebergeld <usenet@gmx.eu>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] Precise guest instruction count.
Date: Mon, 9 Mar 2009 09:38:24 +0000 (UTC)	[thread overview]
Message-ID: <gp2o2g$k18$1@ger.gmane.org> (raw)

Hi Qemu developers,

I am trying to do some measurements in Qemu.

I want to get the precise number of guest instructions at certain points in
the emulation. The output is triggered by a NOP guest instruction with a
special value in two registers (to rule out other NOPs).

I have difficulties getting to know the number of guest instructions. I tried
to use the -icount switch, but this leads to timeout errors whenever the guest
tries to use the network. So I inserted a line into gen_icount_end, which
,regardless of the value use_icount, increments qemu_icount by num_insns. I
assume, that the code of gen_icount_end is appended to all TBs and run
whenever the TB is run (please correct me if I'm wrong).

I have some code in the guest, which does some calculations. I let it do the
calculations several times in a row, always discarding the results of the
previous run. I trigger the NOP always before the calculation and Qemu gives
me the following as values of qemu_icount:
First run:  835032
Second run: 837176
Third run:  837179
Fourth and subsequent runs: 837180

I guess that the behaviour is caused by chaining of TBs. The execution flow
jumps directly to the next TB without running the code of gen_icount_end at
the end of the TB.

I do not use Kqemu for this test.

So my question is how can I get accurate guest instruction count number?

Any help is appreciated.

Steffen Liebergeld

             reply	other threads:[~2009-03-09 20:12 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-09  9:38 Steffen Liebergeld [this message]
2009-03-09 21:56 ` [Qemu-devel] Precise guest instruction count Laurent Desnogues
2009-03-11 10:33   ` [Qemu-devel] " Steffen Liebergeld
2009-03-11 10:42     ` Laurent Desnogues
2009-03-11 12:53       ` Steffen Liebergeld
2009-03-11 13:13         ` Paul Brook
2009-03-10  1:55 ` [Qemu-devel] " Paul Brook
2009-03-11 11:45   ` [Qemu-devel] " Steffen Liebergeld

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='gp2o2g$k18$1@ger.gmane.org' \
    --to=usenet@gmx.eu \
    --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).