Changeset 99920 in vbox for trunk/src/VBox/VMM/VMMR3
- Timestamp:
- May 22, 2023 8:52:26 PM (21 months ago)
- svn:sync-xref-src-repo-rev:
- 157563
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/EM.cpp
r99899 r99920 219 219 pVCpu->em.s.enmState = idCpu == 0 ? EMSTATE_NONE : EMSTATE_WAIT_SIPI; 220 220 pVCpu->em.s.enmPrevState = EMSTATE_NONE; 221 pVCpu->em.s. u64TimeSliceStart= 0; /* paranoia */221 pVCpu->em.s.msTimeSliceStart = 0; /* paranoia */ 222 222 pVCpu->em.s.idxContinueExitRec = UINT16_MAX; 223 223 … … 2033 2033 { 2034 2034 uint64_t const msTimeNow = RTTimeMilliTS(); 2035 if (pVCpu->em.s. u64TimeSliceStart + EM_TIME_SLICE < msTimeNow)2035 if (pVCpu->em.s.msTimeSliceStart + EM_TIME_SLICE < msTimeNow) 2036 2036 { 2037 2037 /* New time slice. */ 2038 pVCpu->em.s. u64TimeSliceStart= msTimeNow;2039 pVCpu->em.s. u64TimeSliceStartExec = cMsKernelTime + cMsUserTime;2040 pVCpu->em.s. u64TimeSliceExec = 0;2041 } 2042 pVCpu->em.s. u64TimeSliceExec = cMsKernelTime + cMsUserTime - pVCpu->em.s.u64TimeSliceStartExec;2043 2044 bool const fRet = pVCpu->em.s. u64TimeSliceExec < (EM_TIME_SLICE * pVM->uCpuExecutionCap) / 100;2045 Log2(("emR3IsExecutionAllowed: start=%RX64 startexec=%RX64 exec=%RX64 (cap=%x)\n", pVCpu->em.s. u64TimeSliceStart,2046 pVCpu->em.s. u64TimeSliceStartExec, pVCpu->em.s.u64TimeSliceExec, (EM_TIME_SLICE * pVM->uCpuExecutionCap) / 100));2038 pVCpu->em.s.msTimeSliceStart = msTimeNow; 2039 pVCpu->em.s.cMsTimeSliceStartExec = cMsKernelTime + cMsUserTime; 2040 pVCpu->em.s.cMsTimeSliceExec = 0; 2041 } 2042 pVCpu->em.s.cMsTimeSliceExec = cMsKernelTime + cMsUserTime - pVCpu->em.s.cMsTimeSliceStartExec; 2043 2044 bool const fRet = pVCpu->em.s.cMsTimeSliceExec < (EM_TIME_SLICE * pVM->uCpuExecutionCap) / 100; 2045 Log2(("emR3IsExecutionAllowed: start=%RX64 startexec=%RX64 exec=%RX64 (cap=%x)\n", pVCpu->em.s.msTimeSliceStart, 2046 pVCpu->em.s.cMsTimeSliceStartExec, pVCpu->em.s.cMsTimeSliceExec, (EM_TIME_SLICE * pVM->uCpuExecutionCap) / 100)); 2047 2047 return fRet; 2048 2048 }
Note:
See TracChangeset
for help on using the changeset viewer.