VirtualBox

Changeset 54196 in vbox for trunk


Ignore:
Timestamp:
Feb 13, 2015 12:25:55 PM (10 years ago)
Author:
vboxsync
Message:

VMM/HM: stat adjustments.

Location:
trunk/src/VBox/VMM
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp

    r54102 r54196  
    26442644    Assert(!TRPMHasTrap(pVCpu));
    26452645    Assert(!VMMRZCallRing3IsEnabled(pVCpu));
    2646     Log4Func(("\n"));
    26472646
    26482647    bool const fIntShadow = RT_BOOL(hmR0SvmGetGuestIntrShadow(pVCpu, pCtx));
     
    32963295        if (cLoops > pVM->hm.s.cMaxResumeLoops)
    32973296        {
    3298             STAM_COUNTER_INC(&pVCpu->hm.s.StatExitMaxResume);
     3297            STAM_COUNTER_INC(&pVCpu->hm.s.StatSwitchMaxResumeLoops);
    32993298            rc = VINF_EM_RAW_INTERRUPT;
    33003299            break;
     
    33743373        if (cLoops > pVM->hm.s.cMaxResumeLoops)
    33753374        {
    3376             STAM_COUNTER_INC(&pVCpu->hm.s.StatExitMaxResume);
     3375            STAM_COUNTER_INC(&pVCpu->hm.s.StatSwitchMaxResumeLoops);
    33773376            rc = VINF_EM_RAW_INTERRUPT;
    33783377            break;
     
    43434342{
    43444343    HMSVM_VALIDATE_EXIT_HANDLER_PARAMS();
     4344
    43454345    hmR0SvmUpdateRip(pVCpu, pCtx, 1);
    43464346    int rc = EMShouldContinueAfterHalt(pVCpu, pCtx) ? VINF_SUCCESS : VINF_EM_HALT;
     
    43484348    STAM_COUNTER_INC(&pVCpu->hm.s.StatExitHlt);
    43494349    if (rc != VINF_SUCCESS)
    4350         STAM_COUNTER_INC(&pVCpu->hm.s.StatExitHltToR3);
     4350        STAM_COUNTER_INC(&pVCpu->hm.s.StatSwitchHltToR3);
    43514351    return rc;
    43524352}
  • trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp

    r54152 r54196  
    88678867        if (cLoops > pVM->hm.s.cMaxResumeLoops)
    88688868        {
    8869             STAM_COUNTER_INC(&pVCpu->hm.s.StatExitMaxResume);
     8869            STAM_COUNTER_INC(&pVCpu->hm.s.StatSwitchMaxResumeLoops);
    88708870            rc = VINF_EM_RAW_INTERRUPT;
    88718871            break;
     
    89478947        if (cLoops > pVM->hm.s.cMaxResumeLoops)
    89488948        {
    8949             STAM_COUNTER_INC(&pVCpu->hm.s.StatExitMaxResume);
     8949            STAM_COUNTER_INC(&pVCpu->hm.s.StatSwitchMaxResumeLoops);
    89508950            rcStrict = VINF_EM_RAW_INTERRUPT;
    89518951            break;
     
    1046510465    STAM_COUNTER_INC(&pVCpu->hm.s.StatExitHlt);
    1046610466    if (rc != VINF_SUCCESS)
    10467         STAM_COUNTER_INC(&pVCpu->hm.s.StatExitHltToR3);
     10467        STAM_COUNTER_INC(&pVCpu->hm.s.StatSwitchHltToR3);
    1046810468    return rc;
    1046910469}
     
    1136411364    STAM_COUNTER_INC(&pVCpu->hm.s.StatExitApicAccess);
    1136511365    if (rc != VINF_SUCCESS)
    11366         STAM_COUNTER_INC(&pVCpu->hm.s.StatExitApicAccessToR3);
     11366        STAM_COUNTER_INC(&pVCpu->hm.s.StatSwitchApicAccessToR3);
    1136711367    return rc;
    1136811368}
  • trunk/src/VBox/VMM/VMMR3/HM.cpp

    r54154 r54196  
    682682        HM_REG_COUNTER(&pVCpu->hm.s.StatExitInt,                "/HM/CPU%d/Exit/Instr/Int", "Guest attempted to execute INT.");
    683683        HM_REG_COUNTER(&pVCpu->hm.s.StatExitHlt,                "/HM/CPU%d/Exit/Instr/Hlt", "Guest attempted to execute HLT.");
    684         HM_REG_COUNTER(&pVCpu->hm.s.StatExitHltToR3,            "/HM/CPU%d/Exit/HltToR3", "HLT causing us to go to ring-3.");
    685684        HM_REG_COUNTER(&pVCpu->hm.s.StatExitXdtrAccess,         "/HM/CPU%d/Exit/Instr/XdtrAccess", "Guest attempted to access descriptor table register (GDTR, IDTR, LDTR).");
    686685        HM_REG_COUNTER(&pVCpu->hm.s.StatExitIOWrite,            "/HM/CPU%d/Exit/IO/Write", "I/O write.");
     
    689688        HM_REG_COUNTER(&pVCpu->hm.s.StatExitIOStringRead,       "/HM/CPU%d/Exit/IO/ReadString", "String I/O read.");
    690689        HM_REG_COUNTER(&pVCpu->hm.s.StatExitIntWindow,          "/HM/CPU%d/Exit/IntWindow", "Interrupt-window exit. Guest is ready to receive interrupts again.");
    691         HM_REG_COUNTER(&pVCpu->hm.s.StatExitMaxResume,          "/HM/CPU%d/Exit/MaxResume", "Maximum VMRESUME inner-loop counter reached.");
    692690        HM_REG_COUNTER(&pVCpu->hm.s.StatExitExtInt,             "/HM/CPU%d/Exit/ExtInt", "Host interrupt received.");
    693691#endif
     
    699697        HM_REG_COUNTER(&pVCpu->hm.s.StatExitMtf,                "/HM/CPU%d/Exit/MonitorTrapFlag", "Monitor Trap Flag.");
    700698        HM_REG_COUNTER(&pVCpu->hm.s.StatExitApicAccess,         "/HM/CPU%d/Exit/ApicAccess", "APIC access. Guest attempted to access memory at a physical address on the APIC-access page.");
    701         HM_REG_COUNTER(&pVCpu->hm.s.StatExitApicAccessToR3,     "/HM/CPU%d/Exit/ApicAccessToR3", "APIC access causing us to go to ring-3.");
    702699
    703700        HM_REG_COUNTER(&pVCpu->hm.s.StatSwitchGuestIrq,         "/HM/CPU%d/Switch/IrqPending", "PDMGetInterrupt() cleared behind our back!?!.");
     
    706703        HM_REG_COUNTER(&pVCpu->hm.s.StatSwitchExitToR3,         "/HM/CPU%d/Switch/ExitToR3", "Exit to ring-3 (total).");
    707704        HM_REG_COUNTER(&pVCpu->hm.s.StatSwitchLongJmpToR3,      "/HM/CPU%d/Switch/LongJmpToR3", "Longjump to ring-3.");
     705        HM_REG_COUNTER(&pVCpu->hm.s.StatSwitchMaxResumeLoops,   "/HM/CPU%d/Switch/MaxResumeToR3", "Maximum VMRESUME inner-loop counter reached.");
     706        HM_REG_COUNTER(&pVCpu->hm.s.StatSwitchHltToR3,          "/HM/CPU%d/Switch/HltToR3", "HLT causing us to go to ring-3.");
     707        HM_REG_COUNTER(&pVCpu->hm.s.StatSwitchApicAccessToR3,   "/HM/CPU%d/Switch/ApicAccessToR3", "APIC access causing us to go to ring-3.");
    708708
    709709        HM_REG_COUNTER(&pVCpu->hm.s.StatInjectInterrupt,        "/HM/CPU%d/EventInject/Interrupt", "Injected an external interrupt into the guest.");
     
    13581358    if (HMAmdIsSubjectToErratum170(&u32Family, &u32Model, &u32Stepping))
    13591359        LogRel(("HM: AMD Cpu with erratum 170 family %#x model %#x stepping %#x\n", u32Family, u32Model, u32Stepping));
     1360    LogRel(("HM: Max resume loops                  = %u\n",     pVM->hm.s.cMaxResumeLoops));
    13601361    LogRel(("HM: CPUID 0x80000001.u32AMDFeatureECX = %#RX32\n", pVM->hm.s.cpuid.u32AMDFeatureECX));
    13611362    LogRel(("HM: CPUID 0x80000001.u32AMDFeatureEDX = %#RX32\n", pVM->hm.s.cpuid.u32AMDFeatureEDX));
     
    14021403    if (pVM->hm.s.svm.u32Features & AMD_CPUID_SVM_FEATURE_EDX_NESTED_PAGING)
    14031404        pVM->hm.s.fNestedPaging = pVM->hm.s.fAllowNestedPaging;
    1404 
    1405     LogRel(("HM: Max resume loops                  = %u\n",     pVM->hm.s.cMaxResumeLoops));
    14061405
    14071406    /*
  • trunk/src/VBox/VMM/include/HMInternal.h

    r54065 r54196  
    896896    STAMCOUNTER             StatExitXdtrAccess;
    897897    STAMCOUNTER             StatExitHlt;
    898     STAMCOUNTER             StatExitHltToR3;
    899898    STAMCOUNTER             StatExitMwait;
    900899    STAMCOUNTER             StatExitMonitor;
     
    905904    STAMCOUNTER             StatExitIOStringRead;
    906905    STAMCOUNTER             StatExitIntWindow;
    907     STAMCOUNTER             StatExitMaxResume;
    908906    STAMCOUNTER             StatExitExtInt;
    909907    STAMCOUNTER             StatExitHostNmiInGC;
     
    913911    STAMCOUNTER             StatExitMtf;
    914912    STAMCOUNTER             StatExitApicAccess;
    915     STAMCOUNTER             StatExitApicAccessToR3;
    916913    STAMCOUNTER             StatPendingHostIrq;
    917914
     
    938935    STAMCOUNTER             StatSwitchExitToR3;
    939936    STAMCOUNTER             StatSwitchLongJmpToR3;
     937    STAMCOUNTER             StatSwitchMaxResumeLoops;
     938    STAMCOUNTER             StatSwitchHltToR3;
     939    STAMCOUNTER             StatSwitchApicAccessToR3;
    940940
    941941    STAMCOUNTER             StatTscParavirt;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette