VirtualBox

Changeset 61150 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
May 24, 2016 7:27:46 AM (9 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
107431
Message:

VMM/APIC: Added stat counters for ICR Lo (IPIs) and timer ICR writes.

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

Legend:

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

    r61133 r61150  
    10321032    pXApicPage->icr_lo.all.u32IcrLo = uIcrLo & XAPIC_ICR_LO_WR_VALID;
    10331033    Log2(("APIC%u: apicSetIcrLo: uIcrLo=%#RX32\n", pVCpu->idCpu, pXApicPage->icr_lo.all.u32IcrLo));
     1034    STAM_COUNTER_INC(&pVCpu->apic.s.StatIcrLoWrite);
    10341035
    10351036    return apicSendIpi(pVCpu, rcRZ);
     
    13461347    PTMTIMER   pTimer     = pApicCpu->CTX_SUFF(pTimer);
    13471348
     1349    Log2(("APIC%u: apicSetTimerIcr: uInitialCount=%#RX32\n", pVCpu->idCpu, uInitialCount));
     1350    STAM_COUNTER_INC(&pApicCpu->StatTimerIcrWrite);
     1351
    13481352    /* In TSC-deadline mode, timer ICR writes are ignored, see Intel spec. 10.5.4.1 "TSC-Deadline Mode". */
    13491353    if (   pApic->fSupportsTscDeadline
    13501354        && pXApicPage->lvt_timer.u.u2TimerMode == XAPIC_TIMER_MODE_TSC_DEADLINE)
    13511355        return VINF_SUCCESS;
    1352 
    1353     Log2(("APIC%u: apicSetTimerIcr: uInitialCount=%#RX32\n", pVCpu->idCpu, uInitialCount));
    13541356
    13551357    /*
  • trunk/src/VBox/VMM/VMMR3/APIC.cpp

    r61124 r61150  
    17001700        APIC_REG_COUNTER(&pApicCpu->StatMaskedByTpr,   "Number of times TPR masks an interrupt in APICGetInterrupt.",
    17011701                         "/Devices/APIC/%u/MaskedByTpr");
    1702         APIC_REG_COUNTER(&pApicCpu->StatMaskedByPpr,   "Number of time PPR masks an interrupt in APICGetInterrupt.",
     1702        APIC_REG_COUNTER(&pApicCpu->StatMaskedByPpr,   "Number of times PPR masks an interrupt in APICGetInterrupt.",
    17031703                         "/Devices/APIC/%u/MaskedByPpr");
     1704        APIC_REG_COUNTER(&pApicCpu->StatTimerIcrWrite, "Number of times the timer ICR is written.",
     1705                         "/Devices/APIC/%u/TimerIcrWrite");
     1706        APIC_REG_COUNTER(&pApicCpu->StatIcrLoWrite,    "Number of times the ICR Lo (send IPI) is written.",
     1707                         "/Devices/APIC/%u/IcrLoWrite");
    17041708    }
    17051709# undef APIC_PROF_COUNTER
  • trunk/src/VBox/VMM/include/APICInternal.h

    r61116 r61150  
    13561356    /** Number of times PPR masks an interrupt in APICGetInterrupt(). */
    13571357    STAMCOUNTER                 StatMaskedByPpr;
     1358    /** Number of times the timer ICR is written. */
     1359    STAMCOUNTER                 StatTimerIcrWrite;
     1360    /** Number of times the ICR Lo (send IPI) is written. */
     1361    STAMCOUNTER                 StatIcrLoWrite;
    13581362    /** @} */
    13591363#endif
Note: See TracChangeset for help on using the changeset viewer.

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