[vbox-dev] fUpdateStuff flag never set in trunk/src/VBox/VMM/TM.cpp ?
Knut St. Osmundsen
bird at sun.com
Mon Dec 7 08:18:27 PST 2009
Mark Cranness wrote:
> 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.
This is a genuine bug, thanks for spotting it. I've fixed it internally
and it should show up externally soon.
> Won't this cause the TSC catchup to always fail (because the catch-up
> calculation is not written back)?
No, it's stopped further down in the same function after we've done the
timeout callouts. I'm not actually sure if it's necessary to make these
updates before we do the callouts - it's been a while since I worked on
the code last.
> 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
> ... "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
The small parameter adjustment you did there won't help much on its own.
And there are known issues with the catch-up not working correctly on
certain setups. We're looking into the latter and there should
eventually be fixed once we have it figured out...
Thanks again for spotting the bug.
Kind regards / Mit freundlichen Gruessen / Vennlig hilsen,
Sun Microsystems GmbH Knut St. Osmundsen
Werkstrasse 24 Senior Staff Engineer, VirtualBox
71384 Weinstadt, Germany mailto:bird at sun.com
Sitz der Gesellschaft: Sun Microsystems GmbH,
Sonnenallee 1, 85551 Kirchheim-Heimstetten
Amtsgericht Muenchen: HRB 161028
Geschaeftsfuehrer: Thomas Schroeder,
Wolfgang Engels, Wolf Frenkel
Vorsitzender des Aufsichtsrates: Martin Haering
More information about the vbox-dev