Changeset 46850 in vbox
- Timestamp:
- Jun 27, 2013 4:34:11 PM (12 years ago)
- Location:
- trunk/src/VBox/VMM/VMMR0
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp
r46844 r46850 1800 1800 } 1801 1801 1802 STAM_PROFILE_ADV_SET_STOPPED(&pVCpu->hm.s.StatEntry); 1803 STAM_PROFILE_ADV_SET_STOPPED(&pVCpu->hm.s.StatLoadGuestState); 1804 STAM_PROFILE_ADV_SET_STOPPED(&pVCpu->hm.s.StatExit1); 1805 STAM_PROFILE_ADV_SET_STOPPED(&pVCpu->hm.s.StatExit2); 1802 1806 STAM_COUNTER_INC(&pVCpu->hm.s.StatSwitchLongJmpToR3); 1807 1803 1808 VMCPU_CMPXCHG_STATE(pVCpu, VMCPUSTATE_STARTED_HM, VMCPUSTATE_STARTED_EXEC); 1804 1809 } … … 2604 2609 Assert(HMR0GetCurrentCpu()->idCpu == pVCpu->hm.s.idLastCpu); 2605 2610 2611 STAM_PROFILE_ADV_STOP_START(&pVCpu->hm.s.StatEntry, &pVCpu->hm.s.StatInGC, x); 2612 2606 2613 TMNotifyStartOfExecution(pVCpu); /* Finally, notify TM to resume its clocks as we're about 2607 2614 to start executing. */ … … 2687 2694 } 2688 2695 2696 STAM_PROFILE_ADV_STOP_START(&pVCpu->hm.s.StatInGC, &pVCpu->hm.s.StatExit1, x); 2689 2697 TMNotifyEndOfExecution(pVCpu); /* Notify TM that the guest is no longer running. */ 2690 2698 VMCPU_SET_STATE(pVCpu, VMCPUSTATE_STARTED_HM); … … 2782 2790 if (rc == VINF_SUCCESS) 2783 2791 rc = VERR_SVM_INVALID_GUEST_STATE; 2792 STAM_PROFILE_ADV_STOP(&pVCpu->hm.s.StatExit1, x); 2784 2793 hmR0SvmReportWorldSwitchError(pVM, pVCpu, rc, pCtx); 2785 2794 return rc; … … 2788 2797 /* Handle the #VMEXIT. */ 2789 2798 HMSVM_EXITCODE_STAM_COUNTER_INC(SvmTransient.u64ExitCode); 2799 STAM_PROFILE_ADV_STOP_START(&pVCpu->hm.s.StatExit1, &pVCpu->hm.s.StatExit2, x); 2790 2800 rc = hmR0SvmHandleExit(pVCpu, pCtx, &SvmTransient); 2801 STAM_PROFILE_ADV_STOP(&pVCpu->hm.s.StatExit2, x); 2791 2802 if (rc != VINF_SUCCESS) 2792 2803 break; … … 2799 2810 } 2800 2811 2812 STAM_PROFILE_ADV_STOP(&pVCpu->hm.s.StatEntry, x); 2801 2813 if (rc == VERR_EM_INTERPRETER) 2802 2814 rc = VINF_EM_RAW_EMULATE_INSTR; -
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r46789 r46850 5911 5911 } 5912 5912 5913 STAM_PROFILE_ADV_S TOP(&pVCpu->hm.s.StatEntry, x);5914 STAM_PROFILE_ADV_S TOP(&pVCpu->hm.s.StatLoadGuestState, x);5915 STAM_PROFILE_ADV_S TOP(&pVCpu->hm.s.StatExit1, x);5916 STAM_PROFILE_ADV_S TOP(&pVCpu->hm.s.StatExit2, x);5917 STAM_PROFILE_ADV_S TOP(&pVCpu->hm.s.StatExitIO, y1);5918 STAM_PROFILE_ADV_S TOP(&pVCpu->hm.s.StatExitMovCRx, y2);5919 STAM_PROFILE_ADV_S TOP(&pVCpu->hm.s.StatExitXcptNmi, y3);5913 STAM_PROFILE_ADV_SET_STOPPED(&pVCpu->hm.s.StatEntry); 5914 STAM_PROFILE_ADV_SET_STOPPED(&pVCpu->hm.s.StatLoadGuestState); 5915 STAM_PROFILE_ADV_SET_STOPPED(&pVCpu->hm.s.StatExit1); 5916 STAM_PROFILE_ADV_SET_STOPPED(&pVCpu->hm.s.StatExit2); 5917 STAM_PROFILE_ADV_SET_STOPPED(&pVCpu->hm.s.StatExitIO); 5918 STAM_PROFILE_ADV_SET_STOPPED(&pVCpu->hm.s.StatExitMovCRx); 5919 STAM_PROFILE_ADV_SET_STOPPED(&pVCpu->hm.s.StatExitXcptNmi); 5920 5920 STAM_COUNTER_INC(&pVCpu->hm.s.StatSwitchLongJmpToR3); 5921 5921 5922 VMCPU_CMPXCHG_STATE(pVCpu, VMCPUSTATE_STARTED_HM, VMCPUSTATE_STARTED_EXEC); 5922 5923 } … … 6879 6880 Assert(HMR0GetCurrentCpu()->idCpu == pVCpu->hm.s.idLastCpu); 6880 6881 6882 STAM_PROFILE_ADV_STOP_START(&pVCpu->hm.s.StatEntry, &pVCpu->hm.s.StatInGC, x); 6883 6884 TMNotifyStartOfExecution(pVCpu); /* Finally, notify TM to resume its clocks as we're about 6885 to start executing. */ 6886 6881 6887 #ifndef VBOX_WITH_AUTO_MSR_LOAD_RESTORE 6882 6888 /* … … 6894 6900 } 6895 6901 #endif 6896 6897 TMNotifyStartOfExecution(pVCpu); /* Finally, notify TM to resume its clocks as we're about6898 to start executing. */6899 STAM_PROFILE_ADV_STOP_START(&pVCpu->hm.s.StatEntry, &pVCpu->hm.s.StatInGC, x);6900 6902 } 6901 6903 … … 6920 6922 { 6921 6923 Assert(!VMMRZCallRing3IsEnabled(pVCpu)); 6922 STAM_PROFILE_ADV_STOP_START(&pVCpu->hm.s.StatInGC, &pVCpu->hm.s.StatExit1, x);6923 6924 6924 6925 ASMAtomicWriteBool(&pVCpu->hm.s.fCheckedTLBFlush, false); /* See HMInvalidatePageOnAllVCpus(): used for TLB-shootdowns. */ … … 6940 6941 } 6941 6942 6943 STAM_PROFILE_ADV_STOP_START(&pVCpu->hm.s.StatInGC, &pVCpu->hm.s.StatExit1, x); 6942 6944 TMNotifyEndOfExecution(pVCpu); /* Notify TM that the guest is no longer running. */ 6943 6945 Assert(!(ASMGetFlags() & X86_EFL_IF)); -
trunk/src/VBox/VMM/VMMR0/HWSVMR0.cpp
r46803 r46850 1486 1486 VMCPU_SET_STATE(pVCpu, VMCPUSTATE_STARTED_EXEC); 1487 1487 #endif 1488 STAM_PROFILE_ADV_STOP_START(&pVCpu->hm.s.StatEntry, &pVCpu->hm.s.StatInGC, x);1489 1488 1490 1489 /* Setup TLB control and ASID in the VMCB. */ … … 1505 1504 #endif 1506 1505 TMNotifyStartOfExecution(pVCpu); 1506 STAM_PROFILE_ADV_STOP_START(&pVCpu->hm.s.StatEntry, &pVCpu->hm.s.StatInGC, x); 1507 1507 1508 1508 /* … … 1541 1541 } 1542 1542 1543 STAM_PROFILE_ADV_STOP_START(&pVCpu->hm.s.StatInGC, &pVCpu->hm.s.StatExit1, x); 1543 1544 TMNotifyEndOfExecution(pVCpu); 1544 1545 VMCPU_SET_STATE(pVCpu, VMCPUSTATE_STARTED_HM); 1545 STAM_PROFILE_ADV_STOP_START(&pVCpu->hm.s.StatInGC, &pVCpu->hm.s.StatExit1, x);1546 1546 ASMSetFlags(uOldEFlags); 1547 1547 #ifdef VBOX_WITH_VMMR0_DISABLE_PREEMPTION
Note:
See TracChangeset
for help on using the changeset viewer.