Changeset 87819 in vbox
- Timestamp:
- Feb 20, 2021 10:24:03 AM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 142880
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/VMM.cpp
r87766 r87819 205 205 pVM->vmm.s.hEvtRendezvousRecursionPopCaller = NIL_RTSEMEVENT; 206 206 207 #if 0 /* pointless when timers doesn't run on EMT */ 207 208 /** @cfgm{/YieldEMTInterval, uint32_t, 1, UINT32_MAX, 23, ms} 208 209 * The EMT yield interval. The EMT yielding is a hack we employ to play a … … 212 213 23 /* Value arrived at after experimenting with the grub boot prompt. */); 213 214 AssertMsgRCReturn(rc, ("Configuration error. Failed to query \"YieldEMTInterval\", rc=%Rrc\n", rc), rc); 214 215 #endif 215 216 216 217 /** @cfgm{/VMM/UsePeriodicPreemptionTimers, boolean, true} … … 222 223 */ 223 224 PCFGMNODE pCfgVMM = CFGMR3GetChild(CFGMR3GetRoot(pVM), "VMM"); 224 rc = CFGMR3QueryBoolDef(pCfgVMM, "UsePeriodicPreemptionTimers", &pVM->vmm.s.fUsePeriodicPreemptionTimers, true);225 int rc = CFGMR3QueryBoolDef(pCfgVMM, "UsePeriodicPreemptionTimers", &pVM->vmm.s.fUsePeriodicPreemptionTimers, true); 225 226 AssertMsgRCReturn(rc, ("Configuration error. Failed to query \"VMM/UsePeriodicPreemptionTimers\", rc=%Rrc\n", rc), rc); 226 227 … … 657 658 case VMINITCOMPLETED_RING3: 658 659 { 660 #if 0 /* pointless when timers doesn't run on EMT */ 659 661 /* 660 662 * Create the EMT yield timer. … … 666 668 rc = TMTimerSetMillies(pVM, pVM->vmm.s.hYieldTimer, pVM->vmm.s.cYieldEveryMillies); 667 669 AssertRCReturn(rc, rc); 670 #endif 668 671 break; 669 672 } … … 995 998 VMMR3_INT_DECL(void) VMMR3YieldSuspend(PVM pVM) 996 999 { 1000 #if 0 /* pointless when timers doesn't run on EMT */ 997 1001 VMCPU_ASSERT_EMT(pVM->apCpusR3[0]); 998 1002 if (!pVM->vmm.s.cYieldResumeMillies) … … 1007 1011 } 1008 1012 pVM->vmm.s.u64LastYield = RTTimeNanoTS(); 1013 #else 1014 RT_NOREF(pVM); 1015 #endif 1009 1016 } 1010 1017 … … 1017 1024 VMMR3_INT_DECL(void) VMMR3YieldStop(PVM pVM) 1018 1025 { 1026 #if 0 /* pointless when timers doesn't run on EMT */ 1019 1027 if (!pVM->vmm.s.cYieldResumeMillies) 1020 1028 TMTimerStop(pVM, pVM->vmm.s.hYieldTimer); 1021 1029 pVM->vmm.s.cYieldResumeMillies = pVM->vmm.s.cYieldEveryMillies; 1022 1030 pVM->vmm.s.u64LastYield = RTTimeNanoTS(); 1031 #else 1032 RT_NOREF(pVM); 1033 #endif 1023 1034 } 1024 1035 … … 1031 1042 VMMR3_INT_DECL(void) VMMR3YieldResume(PVM pVM) 1032 1043 { 1044 #if 0 /* pointless when timers doesn't run on EMT */ 1033 1045 if (pVM->vmm.s.cYieldResumeMillies) 1034 1046 { … … 1036 1048 pVM->vmm.s.cYieldResumeMillies = 0; 1037 1049 } 1038 } 1039 1040 1050 #else 1051 RT_NOREF(pVM); 1052 #endif 1053 } 1054 1055 1056 #if 0 /* pointless when timers doesn't run on EMT */ 1041 1057 /** 1042 1058 * @callback_method_impl{FNTMTIMERINT, EMT yielder} … … 1077 1093 TMTimerSetMillies(pVM, hTimer, pVM->vmm.s.cYieldEveryMillies); 1078 1094 } 1095 #endif 1079 1096 1080 1097 -
trunk/src/VBox/VMM/include/VMMInternal.h
r87766 r87819 192 192 bool afPadding0[7]; 193 193 194 #if 0 /* pointless when timers doesn't run on EMT */ 194 195 /** The EMT yield timer. */ 195 196 TMTIMERHANDLE hYieldTimer; … … 201 202 /** The timestamp of the previous yield. (nano) */ 202 203 uint64_t u64LastYield; 204 #endif 203 205 204 206 /** @name EMT Rendezvous -
trunk/src/VBox/VMM/testcase/tstVMStructSize.cpp
r87812 r87819 255 255 CHECK_MEMBER_ALIGNMENT(VMCPU, vmm.s.CallRing3JmpBufR0.xmm6, 16); 256 256 #endif 257 CHECK_MEMBER_ALIGNMENT(VM, vmm.s.u64LastYield, 8);258 257 259 258 /* the VMCPUs are page aligned TLB hit reasons. */
Note:
See TracChangeset
for help on using the changeset viewer.