- Timestamp:
- May 25, 2007 4:57:28 PM (18 years ago)
- svn:sync-xref-src-repo-rev:
- 21543
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/TM.cpp
r2869 r2884 719 719 720 720 /* 721 * Abort any pending catch up. 722 * This isn't perfect, 723 */ 724 if (pVM->tm.s.fVirtualSyncCatchUp) 725 { 726 const uint64_t offVirtualNow = TMVirtualGetEx(pVM, false /* don't check timers */); 727 const uint64_t offVirtualSyncNow = TMVirtualSyncGetEx(pVM, false /* don't check timers */); 728 if (pVM->tm.s.fVirtualSyncCatchUp) 729 { 730 STAM_PROFILE_ADV_STOP(&pVM->tm.s.StatVirtualSyncCatchup, c); 731 732 const uint64_t offOld = pVM->tm.s.offVirtualSyncGivenUp; 733 const uint64_t offNew = offVirtualNow - offVirtualSyncNow; 734 Assert(offOld <= offNew); 735 ASMAtomicXchgU64((uint64_t volatile *)&pVM->tm.s.offVirtualSyncGivenUp, offNew); 736 ASMAtomicXchgU64((uint64_t volatile *)&pVM->tm.s.offVirtualSync, offNew); 737 ASMAtomicXchgBool(&pVM->tm.s.fVirtualSyncCatchUp, false); 738 LogRel(("TM: Aborting catch-up attempt on reset with a %RU64 ns lag on reset; new total: %RU64 ns\n", offOld - offNew, offNew)); 739 } 740 } 741 742 /* 721 743 * Process the queues. 722 744 */ … … 1228 1250 tmTimerQueueSchedule(pVM, &pVM->tm.s.paTimerQueuesR3[TMCLOCK_VIRTUAL_SYNC]); 1229 1251 STAM_PROFILE_ADV_SUSPEND(&pVM->tm.s.StatDoQueuesSchedule, s1); 1230 STAM_PROFILE_ADV_ST OP(&pVM->tm.s.StatDoQueuesRun, r1);1252 STAM_PROFILE_ADV_START(&pVM->tm.s.StatDoQueuesRun, r1); 1231 1253 tmR3TimerQueueRunVirtualSync(pVM); 1232 1254 STAM_PROFILE_ADV_SUSPEND(&pVM->tm.s.StatDoQueuesRun, r1);
Note:
See TracChangeset
for help on using the changeset viewer.