Ticket #8707 (closed defect: fixed)
Vista RTM 64-bit HPET jumps by 42 seconds approx. once per minute => Fixed in SVN
|Reported by:||ricebowl||Owned by:|
I am running a Vista SP2 64-bit host and Vista RTM 64-bit guest on an Athlon II X4 610e. I have observed in an application that I am writing that QueryPerformanceCounter() in the guest sometimes jumps forward by approx. 42 seconds. On the host it works correctly. The host is configured to use HPET and reports a timer frequency of ~14 MHz. The guest also configures itself to use HPET, but the timer frequency it reports is 100 MHz. I tried setting the processor affinity on the VirtualBox.exe process responsible for the VM, but it did not help. It turns out that 42 seconds * 100 MHz = 232, and when I print out the results from QueryPerformanceCounter() in hexadecimal, it appears that the high 32-bits of the counter are occasionally incremented twice.
I am not yet sure if this is a Windows bug, a VirtualBox bug, or something else. I am attaching my log file and the C code for my test program.
Some additional information that may be helpful: QueryPerformanceCounter() calls NtQueryPerformanceCounter() which calls KeQueryPerformanceCounter() in the kernel. KeQueryPerformanceCounter() checks the high-performance time source, and if it's HPET (which is true in my case), then it reads the current HPET time out of system memory.
- Status changed from closed to reopened
- Resolution fixed deleted
- Priority changed from minor to major
- Version changed from VirtualBox 4.0.4 to VirtualBox 4.0.6
comment:22 Changed 3 years ago by frank
- Summary changed from Vista RTM 64-bit HPET jumps by 42 seconds approx. once per minute to Vista RTM 64-bit HPET jumps by 42 seconds approx. once per minute => Fixed in SVN