VirtualBox

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


Ignore:
Timestamp:
Oct 4, 2009 1:33:03 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
53178
Message:

PGMSavedState: More statistics.

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/PGMInternal.h

    r23534 r23535  
    27192719            /** The number of dirty pages. */
    27202720            uint32_t                cDirtyPages;
     2721            /** The number of ready zero pages.  */
     2722            uint32_t                cZeroPages;
     2723            /** The number of write monitored pages. */
     2724            uint32_t                cMonitoredPages;
    27212725        }                           Rom,
    27222726                                    Mmio2,
    27232727                                    Ram;
    2724         /** The number of monitored pages. */
    2725         uint32_t                    cMonitoredPages;
    2726         /** The number of ignored pages.  */
     2728        /** The number of ignored pages in the RAM ranges (i.e. MMIO, MMIO2 and ROM). */
    27272729        uint32_t                    cIgnoredPages;
    27282730        /** Indicates that a live save operation is active.  */
    27292731        bool                        fActive;
    27302732        /** Padding. */
    2731         bool                        afReserved[4+3];
     2733        bool                        afReserved[3];
    27322734    } LiveSave;
    27332735
  • trunk/src/VBox/VMM/PGMSavedState.cpp

    r23534 r23535  
    11561156                                {
    11571157                                    Assert(!paLSPages[iPage].fWriteMonitored);
    1158                                     pVM->pgm.s.LiveSave.cMonitoredPages++;
     1158                                    pVM->pgm.s.LiveSave.Ram.cMonitoredPages++;
     1159                                    if (paLSPages[iPage].fZero)
     1160                                        pVM->pgm.s.LiveSave.Ram.cZeroPages--;
    11591161                                }
    11601162
     
    12041206                                        pVM->pgm.s.LiveSave.Ram.cDirtyPages++;
    12051207                                    }
     1208                                    pVM->pgm.s.LiveSave.Ram.cZeroPages++;
    12061209                                }
    12071210                                break;
     
    12461249                                pVM->pgm.s.cWrittenToPages--;
    12471250                            }
    1248                             pVM->pgm.s.LiveSave.cMonitoredPages--;
     1251                            pVM->pgm.s.LiveSave.Ram.cMonitoredPages--;
    12491252                        }
    12501253
     
    13491352                    int         rc;
    13501353                    RTGCPHYS    GCPhys = pCur->GCPhys + ((RTGCPHYS)iPage << PAGE_SHIFT);
    1351 
    1352                     if (!PGM_PAGE_IS_ZERO(&pCur->aPages[iPage]))
     1354                    bool        fZero  = PGM_PAGE_IS_ZERO(&pCur->aPages[iPage]);
     1355
     1356                    if (!fZero)
    13531357                    {
    13541358                        /*
     
    13991403                        pVM->pgm.s.LiveSave.Ram.cReadyPages++;
    14001404                        pVM->pgm.s.LiveSave.Ram.cDirtyPages--;
     1405                        if (fZero)
     1406                            pVM->pgm.s.LiveSave.Ram.cZeroPages++;
    14011407                    }
    14021408                    if (idRamRangesGen != pVM->pgm.s.idRamRangesGen)
     
    15381544}
    15391545
    1540 //#include <iprt/stream.h>
     1546#include <iprt/stream.h>
    15411547
    15421548/**
     
    15501556static DECLCALLBACK(int)  pgmR3LiveVote(PVM pVM, PSSMHANDLE pSSM)
    15511557{
    1552 #if 0
    1553     RTPrintf("# Ram R/D=%08x/%08x Ignored=%#08x Monitored=%#08x  Rom R/D=%08x/%08x  Mmio2 R/D=%08x/%08x\n",
     1558#if 1
     1559    RTPrintf("# Rom[R/D/Z/M]=%03x/%03x/%03x/%03x  Mmio2=%04x/%04x/%04x/%04x  Ram=%06x/%06x/%06x/%06x Ignored=%03x\n",
     1560             pVM->pgm.s.LiveSave.Rom.cReadyPages,
     1561             pVM->pgm.s.LiveSave.Rom.cDirtyPages,
     1562             pVM->pgm.s.LiveSave.Rom.cZeroPages,
     1563             pVM->pgm.s.LiveSave.Rom.cMonitoredPages,
     1564             pVM->pgm.s.LiveSave.Mmio2.cReadyPages,
     1565             pVM->pgm.s.LiveSave.Mmio2.cDirtyPages,
     1566             pVM->pgm.s.LiveSave.Mmio2.cZeroPages,
     1567             pVM->pgm.s.LiveSave.Mmio2.cMonitoredPages,
    15541568             pVM->pgm.s.LiveSave.Ram.cReadyPages,
    15551569             pVM->pgm.s.LiveSave.Ram.cDirtyPages,
    1556              pVM->pgm.s.LiveSave.cIgnoredPages,
    1557              pVM->pgm.s.LiveSave.cMonitoredPages,
    1558              pVM->pgm.s.LiveSave.Rom.cReadyPages,
    1559              pVM->pgm.s.LiveSave.Rom.cDirtyPages,
    1560              pVM->pgm.s.LiveSave.Mmio2.cReadyPages,
    1561              pVM->pgm.s.LiveSave.Mmio2.cDirtyPages
     1570             pVM->pgm.s.LiveSave.Ram.cZeroPages,
     1571             pVM->pgm.s.LiveSave.Ram.cMonitoredPages,
     1572             pVM->pgm.s.LiveSave.cIgnoredPages
    15621573             );
    15631574    static int s_iHack = 0;
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