qemu-devel
[Top][All Lists]
Advanced

[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



reply via email to

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