VirtualBox

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


Ignore:
Timestamp:
Jun 22, 2009 12:59:53 PM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
48894
Message:

Debug logging updates for the hyper heap

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/MMHeap.cpp

    r20686 r20774  
    340340        /* register the statistics */
    341341        PUVM pUVM = pHeap->pUVM;
    342         const char *pszTag = mmR3GetTagName(enmTag);
     342        const char *pszTag = mmGetTagName(enmTag);
    343343        STAMR3RegisterFU(pUVM, &pStat->cbCurAllocated, STAMTYPE_U32, STAMVISIBILITY_ALWAYS,  STAMUNIT_BYTES, "Number of bytes currently allocated.",    "/MM/R3Heap/%s", pszTag);
    344344        STAMR3RegisterFU(pUVM, &pStat->cAllocations,   STAMTYPE_U64, STAMVISIBILITY_ALWAYS,  STAMUNIT_CALLS, "Number or MMR3HeapAlloc() calls.",        "/MM/R3Heap/%s/cAllocations", pszTag);
     
    698698
    699699
    700 /**
    701  * Gets the string name of a memory tag.
    702  *
    703  * @returns name of enmTag.
    704  * @param   enmTag      The tag.
    705  */
    706 const char *mmR3GetTagName(MMTAG enmTag)
    707 {
    708     switch (enmTag)
    709     {
    710         #define TAG2STR(tag) case MM_TAG_##tag: return #tag
    711 
    712         TAG2STR(CFGM);
    713         TAG2STR(CFGM_BYTES);
    714         TAG2STR(CFGM_STRING);
    715         TAG2STR(CFGM_USER);
    716 
    717         TAG2STR(CSAM);
    718         TAG2STR(CSAM_PATCH);
    719 
    720         TAG2STR(DBGF);
    721         TAG2STR(DBGF_AS);
    722         TAG2STR(DBGF_INFO);
    723         TAG2STR(DBGF_LINE);
    724         TAG2STR(DBGF_LINE_DUP);
    725         TAG2STR(DBGF_MODULE);
    726         TAG2STR(DBGF_OS);
    727         TAG2STR(DBGF_STACK);
    728         TAG2STR(DBGF_SYMBOL);
    729         TAG2STR(DBGF_SYMBOL_DUP);
    730 
    731         TAG2STR(EM);
    732 
    733         TAG2STR(IOM);
    734         TAG2STR(IOM_STATS);
    735 
    736         TAG2STR(MM);
    737         TAG2STR(MM_LOOKUP_GUEST);
    738         TAG2STR(MM_LOOKUP_PHYS);
    739         TAG2STR(MM_LOOKUP_VIRT);
    740         TAG2STR(MM_PAGE);
    741 
    742         TAG2STR(PARAV);
    743 
    744         TAG2STR(PATM);
    745         TAG2STR(PATM_PATCH);
    746 
    747         TAG2STR(PDM);
    748         TAG2STR(PDM_DEVICE);
    749         TAG2STR(PDM_DEVICE_DESC);
    750         TAG2STR(PDM_DEVICE_USER);
    751         TAG2STR(PDM_DRIVER);
    752         TAG2STR(PDM_DRIVER_DESC);
    753         TAG2STR(PDM_DRIVER_USER);
    754         TAG2STR(PDM_USB);
    755         TAG2STR(PDM_USB_DESC);
    756         TAG2STR(PDM_USB_USER);
    757         TAG2STR(PDM_LUN);
    758         TAG2STR(PDM_QUEUE);
    759         TAG2STR(PDM_THREAD);
    760         TAG2STR(PDM_ASYNC_COMPLETION);
    761 
    762         TAG2STR(PGM);
    763         TAG2STR(PGM_CHUNK_MAPPING);
    764         TAG2STR(PGM_HANDLERS);
    765         TAG2STR(PGM_MAPPINGS);
    766         TAG2STR(PGM_PHYS);
    767         TAG2STR(PGM_POOL);
    768 
    769         TAG2STR(REM);
    770 
    771         TAG2STR(SELM);
    772 
    773         TAG2STR(SSM);
    774 
    775         TAG2STR(STAM);
    776 
    777         TAG2STR(TM);
    778 
    779         TAG2STR(TRPM);
    780 
    781         TAG2STR(VM);
    782         TAG2STR(VM_REQ);
    783 
    784         TAG2STR(VMM);
    785 
    786         TAG2STR(HWACCM);
    787 
    788         #undef TAG2STR
    789 
    790         default:
    791         {
    792             AssertMsgFailed(("Unknown tag %d! forgot to add it to the switch?\n", enmTag));
    793             static char sz[48];
    794             RTStrPrintf(sz, sizeof(sz), "%d", enmTag);
    795             return sz;
    796         }
    797     }
    798 }
    799 
  • trunk/src/VBox/VMM/MMInternal.h

    r20374 r20774  
    789789int  mmR3HyperInitPaging(PVM pVM);
    790790
    791 const char *mmR3GetTagName(MMTAG enmTag);
     791const char *mmGetTagName(MMTAG enmTag);
    792792
    793793/**
  • trunk/src/VBox/VMM/MMUkHeap.cpp

    r18792 r20774  
    283283        /* register the statistics */
    284284        PUVM pUVM = pHeap->pUVM;
    285         const char *pszTag = mmR3GetTagName(enmTag);
     285        const char *pszTag = mmGetTagName(enmTag);
    286286        STAMR3RegisterFU(pUVM, &pStat->cbCurAllocated, STAMTYPE_U32, STAMVISIBILITY_ALWAYS,  STAMUNIT_BYTES, "Number of bytes currently allocated.",    "/MM/UkHeap/%s", pszTag);
    287287        STAMR3RegisterFU(pUVM, &pStat->cAllocations,   STAMTYPE_U64, STAMVISIBILITY_ALWAYS,  STAMUNIT_CALLS, "Number or MMR3UkHeapAlloc() calls.",      "/MM/UkHeap/%s/cAllocations", pszTag);
  • trunk/src/VBox/VMM/VMMAll/MMAll.cpp

    r15174 r20774  
    3131#include <VBox/log.h>
    3232#include <iprt/assert.h>
     33#include <iprt/string.h>
    3334
    3435
     
    552553#endif
    553554
     555
     556/**
     557 * Gets the string name of a memory tag.
     558 *
     559 * @returns name of enmTag.
     560 * @param   enmTag      The tag.
     561 */
     562const char *mmGetTagName(MMTAG enmTag)
     563{
     564    switch (enmTag)
     565    {
     566        #define TAG2STR(tag) case MM_TAG_##tag: return #tag
     567
     568        TAG2STR(CFGM);
     569        TAG2STR(CFGM_BYTES);
     570        TAG2STR(CFGM_STRING);
     571        TAG2STR(CFGM_USER);
     572
     573        TAG2STR(CSAM);
     574        TAG2STR(CSAM_PATCH);
     575
     576        TAG2STR(DBGF);
     577        TAG2STR(DBGF_AS);
     578        TAG2STR(DBGF_INFO);
     579        TAG2STR(DBGF_LINE);
     580        TAG2STR(DBGF_LINE_DUP);
     581        TAG2STR(DBGF_MODULE);
     582        TAG2STR(DBGF_OS);
     583        TAG2STR(DBGF_STACK);
     584        TAG2STR(DBGF_SYMBOL);
     585        TAG2STR(DBGF_SYMBOL_DUP);
     586
     587        TAG2STR(EM);
     588
     589        TAG2STR(IOM);
     590        TAG2STR(IOM_STATS);
     591
     592        TAG2STR(MM);
     593        TAG2STR(MM_LOOKUP_GUEST);
     594        TAG2STR(MM_LOOKUP_PHYS);
     595        TAG2STR(MM_LOOKUP_VIRT);
     596        TAG2STR(MM_PAGE);
     597
     598        TAG2STR(PARAV);
     599
     600        TAG2STR(PATM);
     601        TAG2STR(PATM_PATCH);
     602
     603        TAG2STR(PDM);
     604        TAG2STR(PDM_DEVICE);
     605        TAG2STR(PDM_DEVICE_DESC);
     606        TAG2STR(PDM_DEVICE_USER);
     607        TAG2STR(PDM_DRIVER);
     608        TAG2STR(PDM_DRIVER_DESC);
     609        TAG2STR(PDM_DRIVER_USER);
     610        TAG2STR(PDM_USB);
     611        TAG2STR(PDM_USB_DESC);
     612        TAG2STR(PDM_USB_USER);
     613        TAG2STR(PDM_LUN);
     614        TAG2STR(PDM_QUEUE);
     615        TAG2STR(PDM_THREAD);
     616        TAG2STR(PDM_ASYNC_COMPLETION);
     617
     618        TAG2STR(PGM);
     619        TAG2STR(PGM_CHUNK_MAPPING);
     620        TAG2STR(PGM_HANDLERS);
     621        TAG2STR(PGM_MAPPINGS);
     622        TAG2STR(PGM_PHYS);
     623        TAG2STR(PGM_POOL);
     624
     625        TAG2STR(REM);
     626
     627        TAG2STR(SELM);
     628
     629        TAG2STR(SSM);
     630
     631        TAG2STR(STAM);
     632
     633        TAG2STR(TM);
     634
     635        TAG2STR(TRPM);
     636
     637        TAG2STR(VM);
     638        TAG2STR(VM_REQ);
     639
     640        TAG2STR(VMM);
     641
     642        TAG2STR(HWACCM);
     643
     644        #undef TAG2STR
     645
     646        default:
     647        {
     648            AssertMsgFailed(("Unknown tag %d! forgot to add it to the switch?\n", enmTag));
     649#ifdef IN_RING3
     650            static char sz[48];
     651            RTStrPrintf(sz, sizeof(sz), "%d", enmTag);
     652            return sz;
     653#else
     654            return "unknown tag!";
     655#endif
     656        }
     657    }
     658}
     659
  • trunk/src/VBox/VMM/VMMAll/MMAllHyper.cpp

    r19667 r20774  
    335335    rc = mmHyperLock(pVM);
    336336    AssertRCReturn(rc, rc);
     337
     338    LogFlow(("MMHyperAlloc %x align=%x tag=%s\n", cb, uAlignment, mmGetTagName(enmTag)));
    337339
    338340    rc = mmHyperAllocInternal(pVM, cb, uAlignment, enmTag, ppv);
     
    739741    if (pStat->fRegistered)
    740742        return;
    741     const char *pszTag = mmR3GetTagName((MMTAG)pStat->Core.Key);
     743    const char *pszTag = mmGetTagName((MMTAG)pStat->Core.Key);
    742744    STAMR3RegisterF(pVM, &pStat->cbCurAllocated, STAMTYPE_U32, STAMVISIBILITY_ALWAYS, STAMUNIT_BYTES, "Number of bytes currently allocated.",           "/MM/HyperHeap/%s", pszTag);
    743745    STAMR3RegisterF(pVM, &pStat->cAllocations,   STAMTYPE_U64, STAMVISIBILITY_ALWAYS, STAMUNIT_COUNT, "Number of alloc calls.",                         "/MM/HyperHeap/%s/cAllocations", pszTag);
     
    915917    rc = mmHyperLock(pVM);
    916918    AssertRCReturn(rc, rc);
     919
     920    LogFlow(("MMHyperFree %p\n", pv));
    917921
    918922    rc = mmHyperFreeInternal(pVM, pv);
     
    11071111                 pCur, (uintptr_t)pCur - (uintptr_t)pHeap->CTX_SUFF(pbHeap),
    11081112                 pCur->core.offNext, -MMHYPERCHUNK_GET_OFFPREV(&pCur->core),
    1109                  mmR3GetTagName((MMTAG)pStat->Core.Key), pszSelf));
     1113                 mmGetTagName((MMTAG)pStat->Core.Key), pszSelf));
    11101114#else
    11111115            Log(("%p  %06x USED offNext=%06x offPrev=-%06x %d%s\n",
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