VirtualBox

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


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/VMMAll
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • 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.

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