VirtualBox

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


Ignore:
Timestamp:
Oct 23, 2019 12:56:39 AM (5 years ago)
Author:
vboxsync
Message:

IOM: Commit stats. bugref:9218

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR3/IOM.cpp

    r81462 r81463  
    208208     * Statistics.
    209209     */
     210    STAM_REG(pVM, &pVM->iom.s.StatIoPortCommits,      STAMTYPE_COUNTER, "/IOM/IoPortCommits",                       STAMUNIT_OCCURENCES,     "Number of ring-3 I/O port commits.");
     211
    210212    STAM_REL_REG(pVM, &pVM->iom.s.StatMMIOStaleMappings, STAMTYPE_PROFILE, "/IOM/MMIOStaleMappings",                STAMUNIT_TICKS_PER_CALL, "Number of times iomMmioHandlerNew got a call for a remapped range at the old mapping.");
    211213    STAM_REG(pVM, &pVM->iom.s.StatRZMMIOHandler,      STAMTYPE_PROFILE, "/IOM/RZ-MMIOHandler",                      STAMUNIT_TICKS_PER_CALL, "Profiling of the iomMmioPfHandler() body, only success calls.");
     
    223225    STAM_REG(pVM, &pVM->iom.s.StatMmioPfHandlerNew,   STAMTYPE_COUNTER, "/IOM/MmioPfHandlerNew",                    STAMUNIT_OCCURENCES,     "Number of calls to iomMmioPfHandlerNew.");
    224226    STAM_REG(pVM, &pVM->iom.s.StatMmioPhysHandlerNew, STAMTYPE_COUNTER, "/IOM/MmioPhysHandlerNew",                  STAMUNIT_OCCURENCES,     "Number of calls to IOMR0MmioPhysHandler.");
     227    STAM_REG(pVM, &pVM->iom.s.StatMmioCommitsDirect,  STAMTYPE_COUNTER, "/IOM/MmioCommitsDirect",                   STAMUNIT_OCCURENCES,     "Number of ring-3 MMIO commits direct to handler via handle hint.");
     228    STAM_REG(pVM, &pVM->iom.s.StatMmioCommitsPgm,     STAMTYPE_COUNTER, "/IOM/MmioCommitsPgm",                      STAMUNIT_OCCURENCES,     "Number of ring-3 MMIO commits via PGM.");
    225229
    226230    /* Redundant, but just in case we change something in the future */
     
    19011905        Log5(("IOM: Dispatching pending I/O port write: %#x LB %u -> %RTiop\n", pVCpu->iom.s.PendingIOPortWrite.u32Value,
    19021906              pVCpu->iom.s.PendingIOPortWrite.cbValue, pVCpu->iom.s.PendingIOPortWrite.IOPort));
     1907        STAM_COUNTER_INC(&pVM->iom.s.StatIoPortCommits);
    19031908        VBOXSTRICTRC rcStrictCommit = IOMIOPortWrite(pVM, pVCpu, pVCpu->iom.s.PendingIOPortWrite.IOPort,
    19041909                                                     pVCpu->iom.s.PendingIOPortWrite.u32Value,
     
    19231928            if (offRegion < pRegEntry->cbRegion && GCPhysMapping != NIL_RTGCPHYS)
    19241929            {
     1930                STAM_COUNTER_INC(&pVM->iom.s.StatMmioCommitsDirect);
    19251931                VBOXSTRICTRC rcStrictCommit = iomR3MmioCommitWorker(pVM, pVCpu, pRegEntry, offRegion);
    19261932                pVCpu->iom.s.PendingMmioWrite.cbValue = 0;
     
    19301936
    19311937        /* Fall back on PGM. */
     1938        STAM_COUNTER_INC(&pVM->iom.s.StatMmioCommitsPgm);
    19321939        VBOXSTRICTRC rcStrictCommit = PGMPhysWrite(pVM, pVCpu->iom.s.PendingMmioWrite.GCPhys,
    19331940                                                   pVCpu->iom.s.PendingMmioWrite.abValue, pVCpu->iom.s.PendingMmioWrite.cbValue,
  • trunk/src/VBox/VMM/include/IOMInternal.h

    r81462 r81463  
    745745    /** @name MMIO statistics.
    746746     * @{ */
     747    STAMCOUNTER                     StatIoPortCommits;
     748
    747749    STAMCOUNTER                     StatMMIOStaleMappings;
    748750    STAMPROFILE                     StatRZMMIOHandler;
     
    756758    STAMCOUNTER                     StatMmioHandlerNewR3;
    757759    STAMCOUNTER                     StatMmioHandlerNewR0;
     760    STAMCOUNTER                     StatMmioCommitsDirect;
     761    STAMCOUNTER                     StatMmioCommitsPgm;
    758762
    759763    STAMCOUNTER                     StatR3MMIOHandler;
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