[Top][All Lists]
[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
- [Qemu-devel] Precise guest instruction count.,
Steffen Liebergeld <=
Re: [Qemu-devel] Precise guest instruction count., Paul Brook, 2009/03/09