qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Precise guest instruction count.


From: Steffen Liebergeld
Subject: [Qemu-devel] Precise guest instruction count.
Date: Mon, 9 Mar 2009 09:38:24 +0000 (UTC)
User-agent: slrn/pre0.9.9-111 (Linux)

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 via email to

[Prev in Thread] Current Thread [Next in Thread]