summary refs log tree commit diff stats
path: root/results/classifier/accel-gemma3:12b/vmm/1783422
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/accel-gemma3:12b/vmm/1783422')
-rw-r--r--results/classifier/accel-gemma3:12b/vmm/178342230
1 files changed, 30 insertions, 0 deletions
diff --git a/results/classifier/accel-gemma3:12b/vmm/1783422 b/results/classifier/accel-gemma3:12b/vmm/1783422
new file mode 100644
index 000000000..8d2d75d54
--- /dev/null
+++ b/results/classifier/accel-gemma3:12b/vmm/1783422
@@ -0,0 +1,30 @@
+
+qemu_clock_get_ns does not take into account icount_time_shift
+
+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
\ No newline at end of file