[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [Bug 1783422] Re: qemu_clock_get_ns does not take into acco
From: |
SilverOnemi |
Subject: |
[Qemu-devel] [Bug 1783422] Re: qemu_clock_get_ns does not take into account icount_time_shift |
Date: |
Thu, 26 Jul 2018 00:42:23 -0000 |
** Changed in: qemu
Status: Incomplete => Invalid
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1783422
Title:
qemu_clock_get_ns does not take into account icount_time_shift
Status in QEMU:
Invalid
Bug description:
Hello,
If you check the qemu/util/qemu-timer.c you will find the following
function:
597: int64_t qemu_clock_get_ns(QEMUClockType type)
598: {
....
602: switch (type) {
....
606: case QEMU_CLOCK_VIRTUAL:
607: if (use_icount) {
608: return cpu_get_icount();
Now on line 606, in case we requested QEMU_CLOCK_VIRTUAL, and we are using
icount, the value of cpu_get_icount(); will be returned.
However if I understand correctly, in order to convert icount to ns,
you must use take into account the icount shift -- as defined in the
documentation: "The virtual cpu will execute one instruction every 2^N
ns of virtual time.".
Therefor, the correct value to return would be
cpu_icount_to_ns(cpu_get_icount()), where cpu_icount_to_ns is defined
in cpus.c:
296: int64_t cpu_icount_to_ns(int64_t icount)
297: {
298: return icount << icount_time_shift;
299: }
Best Regards,
Humberto "SilverOne" Carvalho
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1783422/+subscriptions