[vbox-dev] fUpdateStuff flag never set in trunk/src/VBox/VMM/TM.cpp ?

Mark Cranness mark.cranness at gmail.com
Mon Dec 7 12:01:04 GMT 2009


I'm debugging a time sync / TSC problem and noted the following, which
looks like a bug:

TM.cpp > function tmR3TimerQueueRunVirtualSync lines 1953 and 1986
declare and use a variable fUpdateStuff.
It is initialised to false (line 1953) and tested for true (line
1986), BUT NEVER set to true.

http://www.virtualbox.org/browser/trunk/src/VBox/VMM/TM.cpp#L1953

Won't this cause the TSC catchup to always fail (because the catch-up
calculation is not written back)?

There may be other functions that do this update instead, but a quick
look indicates that they might not.

AND the behaviour of my VM indicates that the catch-up is not
happening as expected (or I am confused...).

I set:
VBoxManage setextradata Server "VBoxInternal/TM/CatchUpStopThreshold" 30000000
and
... "VBoxInternal/TM/CatchUpStartThreshold3" 30000000
... "VBoxInternal/TM/CatchUpPrecentage3" 100
So CatchUpStopThreshold is 30ms, and has a catch-up percent of +100%
and yet the catch-up fails with a "Giving up catch-up attempt at ..."
message, with timing that indicates NO catch-up is being applied at
all.

Thanks!
Mark




More information about the vbox-dev mailing list