VirtualBox

Changeset 88557 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Apr 16, 2021 3:36:25 AM (4 years ago)
Author:
vboxsync
Message:

APIC: More statistics for certain registers.

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/APICAll.cpp

    r85965 r88557  
    13331333    PXAPICPAGE pXApicPage = VMCPU_TO_XAPICPAGE(pVCpu);
    13341334    apicWriteRaw32(pXApicPage, XAPIC_OFF_LDR, uLdr & XAPIC_LDR_VALID);
     1335    STAM_COUNTER_INC(&pVCpu->apic.s.StatLdrWrite);
    13351336    return VINF_SUCCESS;
    13361337}
     
    13581359    PXAPICPAGE pXApicPage = VMCPU_TO_XAPICPAGE(pVCpu);
    13591360    apicWriteRaw32(pXApicPage, XAPIC_OFF_DFR, uDfr);
     1361    STAM_COUNTER_INC(&pVCpu->apic.s.StatDfrWrite);
    13601362    return VINF_SUCCESS;
    13611363}
     
    13801382    PXAPICPAGE pXApicPage = VMCPU_TO_XAPICPAGE(pVCpu);
    13811383    apicWriteRaw32(pXApicPage, XAPIC_OFF_TIMER_DCR, uTimerDcr);
     1384    STAM_COUNTER_INC(&pVCpu->apic.s.StatDcrWrite);
    13821385    return VINF_SUCCESS;
    13831386}
     
    15141517    if (offLvt == XAPIC_OFF_LVT_TIMER)
    15151518    {
     1519        STAM_COUNTER_INC(&pVCpu->apic.s.StatLvtTimerWrite);
    15161520        if (   !pApic->fSupportsTscDeadline
    15171521            && (uLvt & XAPIC_LVT_TIMER_TSCDEADLINE))
  • trunk/src/VBox/VMM/VMMR3/APIC.cpp

    r87767 r88557  
    15691569        APIC_REG_COUNTER(&pApicCpu->StatIcrFullWrite,  "%u/IcrFullWrite",   "Number of times the ICR full (send IPI, x2APIC) is written.");
    15701570        APIC_REG_COUNTER(&pApicCpu->StatIdMsrRead,     "%u/IdMsrRead",      "Number of times the APIC-ID MSR is read.");
     1571        APIC_REG_COUNTER(&pApicCpu->StatDcrWrite,      "%u/DcrWrite",       "Number of times the DCR is written.");
     1572        APIC_REG_COUNTER(&pApicCpu->StatDfrWrite,      "%u/DfrWrite",       "Number of times the DFR is written.");
     1573        APIC_REG_COUNTER(&pApicCpu->StatLdrWrite,      "%u/LdrWrite",       "Number of times the LDR is written.");
     1574        APIC_REG_COUNTER(&pApicCpu->StatLvtTimerWrite, "%u/LvtTimerWrite",  "Number of times the LVT timer is written.");
    15711575
    15721576        APIC_PROF_COUNTER(&pApicCpu->StatUpdatePendingIntrs,
  • trunk/src/VBox/VMM/include/APICInternal.h

    r86529 r88557  
    10831083    /** Number of times the full ICR (x2APIC send IPI) is written. */
    10841084    STAMCOUNTER                 StatIcrFullWrite;
     1085    /** Number of times the DCR is written. */
     1086    STAMCOUNTER                 StatDcrWrite;
     1087    /** Number of times the DFR is written. */
     1088    STAMCOUNTER                 StatDfrWrite;
     1089    /** Number of times the LDR is written. */
     1090    STAMCOUNTER                 StatLdrWrite;
    10851091    /** Number of times the APIC-ID MSR is read. */
    10861092    STAMCOUNTER                 StatIdMsrRead;
     1093    /** Number of times the LVT timer is written. */
     1094    STAMCOUNTER                 StatLvtTimerWrite;
    10871095#endif
    10881096    /** Number of apicPostInterrupt() calls. */
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