#8707 (Vista RTM 64-bit HPET jumps by 42 seconds approx. once per minute => Fixed in SVN) – Oracle VirtualBox (original) (raw)

#8707 closed defect (fixed)

Reported by: Owned by:
Component: VMM/HWACCM Version: VirtualBox 4.0.6
Keywords: HPET, timer, clock Cc:
Guest type: Windows Host type: Windows

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.

Attachments(2)

Change History(25)

Resolution: → fixed
Status: new → closed
Resolution: fixed
Status: closed → reopened
priority: minor → major
Version: VirtualBox 4.0.4 → VirtualBox 4.0.6
Summary: Vista RTM 64-bit HPET jumps by 42 seconds approx. once per minute → Vista RTM 64-bit HPET jumps by 42 seconds approx. once per minute => Fixed in SVN
Resolution: → fixed
Status: reopened → closed

Note: See TracTickets for help on using tickets.