Changeset 30684 in vbox for trunk/src/VBox/VMM/VMMAll
- Timestamp:
- Jul 6, 2010 7:57:20 PM (15 years ago)
- svn:sync-xref-src-repo-rev:
- 63445
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/TMAll.cpp
r30581 r30684 193 193 194 194 #ifndef VBOX_WITHOUT_NS_ACCOUNTING 195 uint32_t uGen = ASMAtomicIncU32(&pVCpu->tm.s.uTimesGen); Assert(uGen & 1); 196 uint64_t u64NsTs = RTTimeNanoTS(); 197 pVCpu->tm.s.cNsExecuting += u64NsTs - pVCpu->tm.s.u64NsTsStartExecuting; 198 pVCpu->tm.s.cNsTotal = u64NsTs - pVCpu->tm.s.u64NsTsStartTotal; 199 pVCpu->tm.s.cNsOther = pVCpu->tm.s.cNsTotal - pVCpu->tm.s.cNsExecuting - pVCpu->tm.s.cNsHalted; 195 uint64_t const u64NsTs = RTTimeNanoTS(); 196 uint64_t const cNsTotalNew = u64NsTs - pVCpu->tm.s.u64NsTsStartTotal; 197 uint64_t const cNsExecutingDelta = u64NsTs - pVCpu->tm.s.u64NsTsStartExecuting; 198 uint64_t const cNsExecutingNew = pVCpu->tm.s.cNsExecuting + cNsExecutingDelta; 199 uint64_t const cNsOtherNew = cNsTotalNew - cNsExecutingNew - pVCpu->tm.s.cNsHalted; 200 201 STAM_PROFILE_ADD_PERIOD(&pVCpu->tm.s.StatNsExecuting, cNsExecutingDelta); 202 STAM_COUNTER_ADD(&pVCpu->tm.s.StatNsTotal, cNsTotalNew - pVCpu->tm.s.cNsTotal); 203 # ifdef VBOX_WITH_STATISTICS 204 int64_t const cNsOtherNewDelta = cNsOtherNew - pVCpu->tm.s.cNsOther; 205 if (cNsOtherNewDelta > 0) 206 STAM_PROFILE_ADD_PERIOD(&pVCpu->tm.s.StatNsOther, cNsOtherNewDelta); /* (the period before execution) */ 207 # endif 208 209 uint32_t uGen = ASMAtomicIncU32(&pVCpu->tm.s.uTimesGen); Assert(uGen & 1); 210 pVCpu->tm.s.cNsExecuting = cNsExecutingNew; 211 pVCpu->tm.s.cNsTotal = cNsTotalNew; 212 pVCpu->tm.s.cNsOther = cNsOtherNew; 213 pVCpu->tm.s.cPeriodsExecuting++; 200 214 ASMAtomicWriteU32(&pVCpu->tm.s.uTimesGen, (uGen | 1) + 1); 201 215 #endif … … 246 260 247 261 #ifndef VBOX_WITHOUT_NS_ACCOUNTING 248 uint32_t uGen = ASMAtomicIncU32(&pVCpu->tm.s.uTimesGen); Assert(uGen & 1); 249 uint64_t u64NsTs = RTTimeNanoTS(); 250 pVCpu->tm.s.cNsHalted += u64NsTs - pVCpu->tm.s.u64NsTsStartHalting; 251 pVCpu->tm.s.cNsTotal = u64NsTs - pVCpu->tm.s.u64NsTsStartTotal; 252 pVCpu->tm.s.cNsOther = pVCpu->tm.s.cNsTotal - pVCpu->tm.s.cNsExecuting - pVCpu->tm.s.cNsHalted; 262 uint64_t const u64NsTs = RTTimeNanoTS(); 263 uint64_t const cNsTotalNew = u64NsTs - pVCpu->tm.s.u64NsTsStartTotal; 264 uint64_t const cNsHaltedDelta = u64NsTs - pVCpu->tm.s.u64NsTsStartHalting; 265 uint64_t const cNsHaltedNew = pVCpu->tm.s.cNsHalted + cNsHaltedDelta; 266 uint64_t const cNsOtherNew = cNsTotalNew - pVCpu->tm.s.cNsExecuting - cNsHaltedNew; 267 268 STAM_PROFILE_ADD_PERIOD(&pVCpu->tm.s.StatNsHalted, cNsHaltedDelta); 269 STAM_COUNTER_ADD(&pVCpu->tm.s.StatNsTotal, cNsTotalNew - pVCpu->tm.s.cNsTotal); 270 # ifdef VBOX_WITH_STATISTICS 271 int64_t const cNsOtherNewDelta = cNsOtherNew - pVCpu->tm.s.cNsOther; 272 if (cNsOtherNewDelta > 0) 273 STAM_PROFILE_ADD_PERIOD(&pVCpu->tm.s.StatNsOther, cNsOtherNewDelta); /* (the period before halting) */ 274 # endif 275 276 uint32_t uGen = ASMAtomicIncU32(&pVCpu->tm.s.uTimesGen); Assert(uGen & 1); 277 pVCpu->tm.s.cNsHalted = cNsHaltedNew; 278 pVCpu->tm.s.cNsTotal = cNsTotalNew; 279 pVCpu->tm.s.cNsOther = cNsOtherNew; 280 pVCpu->tm.s.cPeriodsHalted++; 253 281 ASMAtomicWriteU32(&pVCpu->tm.s.uTimesGen, (uGen | 1) + 1); 254 282 #endif
Note:
See TracChangeset
for help on using the changeset viewer.