VirtualBox

Changeset 45235 in vbox for trunk


Ignore:
Timestamp:
Mar 28, 2013 2:36:52 PM (12 years ago)
Author:
vboxsync
Message:

VMM: Flush page and tlb STAM counter cleanup.

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

Legend:

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

    r44934 r45235  
    13331333                ||  VMCPU_FF_ISPENDING(pVCpu, VMCPU_FF_HM_TO_R3_MASK))
    13341334            {
    1335                 STAM_COUNTER_INC(&pVCpu->hm.s.StatSwitchToR3);
     1335                STAM_COUNTER_INC(&pVCpu->hm.s.StatSwitchHmToR3FF);
    13361336                rc = RT_UNLIKELY(VM_FF_ISPENDING(pVM, VM_FF_PGM_NO_MEMORY)) ? VINF_EM_NO_MEMORY : VINF_EM_RAW_TO_R3;
    13371337                goto end;
     
    23162316        if (rc == VINF_SUCCESS)
    23172317        {
    2318             STAM_COUNTER_INC(&pVCpu->hm.s.StatFlushPageInvlpg);
    23192318            goto ResumeExecution;   /* eip already updated */
    23202319        }
     
    30743073        else
    30753074#endif
     3075        {
    30763076            SVMR0InvlpgA(GCVirt, pvVMCB->ctrl.TLBCtrl.n.u32ASID);
     3077            STAM_COUNTER_INC(&pVCpu->hm.s.StatFlushTlbInvlpgVirt);
     3078        }
    30773079    }
    30783080    return VINF_SUCCESS;
     
    30943096    /* invlpga only invalidates TLB entries for guest virtual addresses; we have no choice but to force a TLB flush here. */
    30953097    VMCPU_FF_SET(pVCpu, VMCPU_FF_TLB_FLUSH);
    3096     STAM_COUNTER_INC(&pVCpu->hm.s.StatFlushTlbInvlpga);
     3098    STAM_COUNTER_INC(&pVCpu->hm.s.StatFlushTlbInvlpgPhys);
    30973099    return VINF_SUCCESS;
    30983100}
  • trunk/src/VBox/VMM/VMMR3/HM.cpp

    r45216 r45235  
    116116    EXIT_REASON(VMX_EXIT_WBINVD             , 54, "WBINVD. Guest software attempted to execute WBINVD."),
    117117    EXIT_REASON(VMX_EXIT_XSETBV             , 55, "XSETBV. Guest software attempted to execute XSETBV."),
    118     EXIT_REASON_NIL()
     118    EXIT_REASON_NIL(),
     119    EXIT_REASON(VMX_EXIT_RDRAND             , 57, "RDRAND. Guest software attempted to execute RDRAND."),
     120    EXIT_REASON(VMX_EXIT_INVPCID            , 58, "INVPCID. Guest software attempted to execute INVPCID."),
     121    EXIT_REASON(VMX_EXIT_VMFUNC             , 59, "VMFUNC. Guest software attempted to execute VMFUNC.")
    119122};
    120123/** Exit reason descriptions for AMD-V, used to describe statistics. */
     
    576579
    577580        HM_REG_COUNTER(&pVCpu->hm.s.StatSwitchGuestIrq,         "/HM/CPU%d/Switch/IrqPending");
     581        HM_REG_COUNTER(&pVCpu->hm.s.StatSwitchHmToR3FF,         "/HM/CPU%d/Switch/HmToR3FF");
    578582        HM_REG_COUNTER(&pVCpu->hm.s.StatSwitchToR3,             "/HM/CPU%d/Switch/ToR3");
    579583
     
    587591        HM_REG_COUNTER(&pVCpu->hm.s.StatFlushTlb,               "/HM/CPU%d/Flush/TLB");
    588592        HM_REG_COUNTER(&pVCpu->hm.s.StatFlushTlbManual,         "/HM/CPU%d/Flush/TLB/Manual");
    589         HM_REG_COUNTER(&pVCpu->hm.s.StatFlushTlbCRxChange,      "/HM/CPU%d/Flush/TLB/CRx");
    590         HM_REG_COUNTER(&pVCpu->hm.s.StatFlushPageInvlpg,        "/HM/CPU%d/Flush/Page/Invlpg");
    591593        HM_REG_COUNTER(&pVCpu->hm.s.StatFlushTlbWorldSwitch,    "/HM/CPU%d/Flush/TLB/Switch");
    592594        HM_REG_COUNTER(&pVCpu->hm.s.StatNoFlushTlbWorldSwitch,  "/HM/CPU%d/Flush/TLB/Skipped");
    593595        HM_REG_COUNTER(&pVCpu->hm.s.StatFlushAsid,              "/HM/CPU%d/Flush/TLB/ASID");
    594596        HM_REG_COUNTER(&pVCpu->hm.s.StatFlushNestedPaging,      "/HM/CPU%d/Flush/TLB/NestedPaging");
    595         HM_REG_COUNTER(&pVCpu->hm.s.StatFlushTlbInvlpga,        "/HM/CPU%d/Flush/TLB/PhysInvl");
     597        HM_REG_COUNTER(&pVCpu->hm.s.StatFlushTlbInvlpgVirt,     "/HM/CPU%d/Flush/TLB/InvlpgVirt");
     598        HM_REG_COUNTER(&pVCpu->hm.s.StatFlushTlbInvlpgPhys,     "/HM/CPU%d/Flush/TLB/InvlpgPhys");
    596599        HM_REG_COUNTER(&pVCpu->hm.s.StatTlbShootdown,           "/HM/CPU%d/Flush/Shootdown/Page");
    597600        HM_REG_COUNTER(&pVCpu->hm.s.StatTlbShootdownFlush,      "/HM/CPU%d/Flush/Shootdown/TLB");
  • trunk/src/VBox/VMM/include/HMInternal.h

    r45095 r45235  
    871871    STAMCOUNTER             StatFlushTlb;
    872872    STAMCOUNTER             StatFlushTlbManual;
    873     STAMCOUNTER             StatFlushPageInvlpg;
    874873    STAMCOUNTER             StatFlushTlbWorldSwitch;
    875874    STAMCOUNTER             StatNoFlushTlbWorldSwitch;
    876     STAMCOUNTER             StatFlushTlbCRxChange;
    877875    STAMCOUNTER             StatFlushAsid;
    878876    STAMCOUNTER             StatFlushNestedPaging;
    879     STAMCOUNTER             StatFlushTlbInvlpga;
     877    STAMCOUNTER             StatFlushTlbInvlpgVirt;
     878    STAMCOUNTER             StatFlushTlbInvlpgPhys;
    880879    STAMCOUNTER             StatTlbShootdown;
    881880    STAMCOUNTER             StatTlbShootdownFlush;
    882881
    883882    STAMCOUNTER             StatSwitchGuestIrq;
     883    STAMCOUNTER             StatSwitchHmToR3FF;
    884884    STAMCOUNTER             StatSwitchToR3;
    885885
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