diff -r 5e441a173c63 -r d9f1e5bfe28c kernel/eka/memmodel/epoc/flexible/mmu/mpdalloc.cpp --- a/kernel/eka/memmodel/epoc/flexible/mmu/mpdalloc.cpp Mon May 24 18:45:46 2010 +0100 +++ b/kernel/eka/memmodel/epoc/flexible/mmu/mpdalloc.cpp Thu Jun 10 11:48:01 2010 +0100 @@ -134,7 +134,14 @@ RamAllocLock::Lock(); TInt r = m.AllocContiguousRam(pdPhys, KLocalPdPages, KLocalPdShift-KPageShift, iPageDirectoryMemory->RamAllocFlags()); if(r==KErrNone) + { AssignPages(offset>>KPageShift,KLocalPdPages,pdPhys); + +#ifdef BTRACE_KERNEL_MEMORY + BTrace4(BTrace::EKernelMemory, BTrace::EKernelMemoryMiscAlloc, KLocalPdPages << KPageShift); + Epoc::KernelMiscPages += KLocalPdPages; +#endif + } RamAllocLock::Unlock(); if(r==KErrNone) @@ -147,6 +154,11 @@ { RamAllocLock::Lock(); m.FreeContiguousRam(pdPhys,KLocalPdPages); + +#ifdef BTRACE_KERNEL_MEMORY + BTrace4(BTrace::EKernelMemory, BTrace::EKernelMemoryMiscFree, KLocalPdPages << KPageShift); + Epoc::KernelMiscPages -= KLocalPdPages; +#endif RamAllocLock::Unlock(); } else @@ -206,6 +218,11 @@ Mmu& m = TheMmu; // Page directories are fixed. m.FreeRam(pages, KLocalPdPages, EPageFixed); + +#ifdef BTRACE_KERNEL_MEMORY + BTrace4(BTrace::EKernelMemory, BTrace::EKernelMemoryMiscFree, KLocalPdPages << KPageShift); + Epoc::KernelMiscPages -= KLocalPdPages; +#endif RamAllocLock::Unlock(); }