Changeset 2861 in vbox
- Timestamp:
- May 25, 2007 3:03:24 AM (18 years ago)
- svn:sync-xref-src-repo-rev:
- 21512
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/TM.cpp
r2859 r2861 573 573 if (tmR3HasFixedTSC()) 574 574 /* Sleep a bit to get a more reliable CpuHz value. */ 575 RTThreadSleep(32); 575 RTThreadSleep(32); 576 576 else 577 577 { … … 1451 1451 " offVirtualSyncGivenUp=%016RX64\n" 1452 1452 " u64VirtualSyncCatchUpPrev=%016RX64\n" 1453 " u64VirtualSyncStoppedTS=%016RX64 %s by %#d (cur %#d)\n" 1454 " u32VirtualSyncStoppedCpuHz=%08RX32 (cur %08RX32)\n" 1453 " u64VirtualSyncStoppedTS=%016RX64\n" 1455 1454 "u32VirtualSyncCatchUpPercentage=%08RX32\n" 1456 1455 " fVirtualSyncTicking=%RTbool (prev=%RTbool)\n" 1457 1456 " fVirtualSyncCatchUp=%RTbool (prev=%RTbool)\n", 1458 1457 u64Now, 1459 u64Max, 1458 u64Max, 1460 1459 pNext->u64Expire, 1461 1460 pVM->tm.s.u64VirtualSync, … … 1467 1466 pVM->tm.s.offVirtualSyncGivenUp, 1468 1467 pVM->tm.s.u64VirtualSyncCatchUpPrev, 1469 pVM->tm.s.u64VirtualSyncStoppedTS, pVM->tm.s.fVirtualSyncStoppedInGC ? "GC" : "R3", pVM->tm.s.u8VirtualSyncStoppedApicId, ASMGetApicId(), 1470 pVM->tm.s.u32VirtualSyncStoppedCpuHz, (uint32_t)SUPGetCpuHzFromGIP(g_pSUPGlobalInfoPage), 1468 pVM->tm.s.u64VirtualSyncStoppedTS, 1471 1469 pVM->tm.s.u32VirtualSyncCatchUpPercentage, 1472 pVM->tm.s.fVirtualSyncTicking, fWasTicking, 1470 pVM->tm.s.fVirtualSyncTicking, fWasTicking, 1473 1471 pVM->tm.s.fVirtualSyncCatchUp, fWasInCatchup)); 1474 1472 Assert(u64Now <= u64VirtualNow - pVM->tm.s.offVirtualSyncGivenUp); … … 1636 1634 { 1637 1635 /* don't bother */ 1638 //debugging - remove - start 1639 static unsigned s_cRelLogEntries = 0; 1640 if (offLag > _1P && s_cRelLogEntries++ < 128) 1641 LogRel(("TM: offLag=%RI64 is way too large/negative! Please add this to #1414.\n" 1642 " offLag=%016RX64\n" 1643 " offNew=%016RX64\n" 1644 " u64Elapsed=%016RX64\n" 1645 " offSlack=%016RX64\n" 1646 " u64VirtualNow2=%016RX64\n" 1647 " u64VirtualNow=%016RX64\n" 1648 " u64VirtualSync=%016RX64\n" 1649 " offVirtualSync=%016RX64\n" 1650 " offVirtualSyncGivenUp=%016RX64\n" 1651 " u64Now=%016RX64\n" 1652 " u64Max=%016RX64\n" 1653 " u64VirtualSyncStoppedTS=%016RX64 %s by %#d (cur %#d)\n" 1654 "u32VirtualSyncStoppedCpuHz=%08RX32 (cur %08RX32)\n" 1655 , 1656 offLag, 1657 offLag, 1658 offNew, 1659 u64Elapsed, 1660 offSlack, 1661 u64VirtualNow2, 1662 u64VirtualNow, 1663 pVM->tm.s.u64VirtualSync, 1664 pVM->tm.s.offVirtualSync, 1665 pVM->tm.s.offVirtualSyncGivenUp, 1666 u64Now, 1667 u64Max, 1668 pVM->tm.s.u64VirtualSyncStoppedTS, pVM->tm.s.fVirtualSyncStoppedInGC ? "GC" : "R3", pVM->tm.s.u8VirtualSyncStoppedApicId, ASMGetApicId(), 1669 pVM->tm.s.u32VirtualSyncStoppedCpuHz, (uint32_t)SUPGetCpuHzFromGIP(g_pSUPGlobalInfoPage) 1670 )); 1671 //debugging - remove - end 1636 if (offLag & BIT64(63)) //debugging - remove. 1637 LogRel(("TM: offLag is negative! offLag=%RI64 (%#RX64) offNew=%#RX64 u64Elapsed=%#RX64 offSlack=%#RX64 u64VirtualNow2=%#RX64 u64VirtualNow=%#RX64 u64VirtualSync=%#RX64 offVirtualSyncGivenUp=%#RX64 u64Now=%#RX64 u64Max=%#RX64\n", 1638 offLag, offLag, offNew, u64Elapsed, offSlack, u64VirtualNow2, u64VirtualNow, pVM->tm.s.u64VirtualSync, pVM->tm.s.offVirtualSyncGivenUp, u64Now, u64Max)); 1672 1639 STAM_COUNTER_INC(&pVM->tm.s.StatVirtualSyncGiveUpBeforeStarting); 1673 1640 ASMAtomicXchgU64((uint64_t volatile *)&pVM->tm.s.offVirtualSyncGivenUp, offNew); -
trunk/src/VBox/VMM/TMInternal.h
r2859 r2861 342 342 uint64_t offVirtualSyncGivenUp; 343 343 uint64_t volatile u64VirtualSyncStoppedTS;/**< for debugging - remove later */ 344 bool volatile fVirtualSyncStoppedInGC;/**< for debugging - remove later */345 uint8_t volatile u8VirtualSyncStoppedApicId;/**< for debugging - remove later */346 uint8_t au8PaddingDbg[2];/**< for debugging - remove later */347 uint32_t u32VirtualSyncStoppedCpuHz;/**< for debugging - remove later */348 344 /** The TMCLOCK_VIRTUAL at the previous TMVirtualGetSync call when catch-up is active. */ 349 345 uint64_t volatile u64VirtualSyncCatchUpPrev; -
trunk/src/VBox/VMM/VMMAll/TMAllVirtual.cpp
r2860 r2861 265 265 ASMAtomicXchgU64(&pVM->tm.s.u64VirtualSync, u64); 266 266 ASMAtomicXchgBool(&pVM->tm.s.fVirtualSyncTicking, false); 267 //debugging - remove this later - start268 267 pVM->tm.s.u64VirtualSyncStoppedTS = u64VirtualNow; 269 #ifdef IN_GC270 pVM->tm.s.fVirtualSyncStoppedInGC = true;271 #else272 pVM->tm.s.fVirtualSyncStoppedInGC = false;273 #endif274 pVM->tm.s.u8VirtualSyncStoppedApicId = ASMGetApicId();275 #ifndef IN_RING0276 PCSUPGLOBALINFOPAGE pGip = g_pSUPGlobalInfoPage;277 if (pGip)278 {279 PCSUPGIPCPU pCpu = &pGip->aCPUs[0];280 if (pGip->u32Mode == SUPGIPMODE_ASYNC_TSC)281 pCpu = &pGip->aCPUs[pVM->tm.s.u8VirtualSyncStoppedApicId];282 pVM->tm.s.u32VirtualSyncStoppedCpuHz = (uint32_t)pCpu->u64CpuHz;283 }284 #endif285 //debugging - remove this later - end286 268 if ( fCheckTimers 287 269 && !VM_FF_ISSET(pVM, VM_FF_TIMER))
Note:
See TracChangeset
for help on using the changeset viewer.