[Zion] Cleanup memory debug statistics slightly.
This commit is contained in:
parent
10d16e129f
commit
92d8a02291
|
@ -3,7 +3,7 @@
|
||||||
#include "debug/debug.h"
|
#include "debug/debug.h"
|
||||||
#include "memory/paging_util.h"
|
#include "memory/paging_util.h"
|
||||||
|
|
||||||
#define K_HEAP_DEBUG 1
|
#define K_HEAP_DEBUG 0
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
|
@ -104,11 +104,6 @@ void KernelHeap::DumpDebugDataInternal() {
|
||||||
dbgln("");
|
dbgln("");
|
||||||
dbgln("Heap Debug Statistics!");
|
dbgln("Heap Debug Statistics!");
|
||||||
|
|
||||||
dbgln("Pages used: {}",
|
|
||||||
(next_addr_ - kKernelBuddyHeapStart - 1) / 0x1000 + 1);
|
|
||||||
// Active Allocs.
|
|
||||||
dbgln("Active Allocations: {}", alloc_count_);
|
|
||||||
|
|
||||||
dbgln("Slab Statistics:");
|
dbgln("Slab Statistics:");
|
||||||
dbgln("Slab 8: {} slabs, {} allocs", slab_8_.SlabCount(),
|
dbgln("Slab 8: {} slabs, {} allocs", slab_8_.SlabCount(),
|
||||||
slab_8_.Allocations());
|
slab_8_.Allocations());
|
||||||
|
@ -123,25 +118,25 @@ void KernelHeap::DumpDebugDataInternal() {
|
||||||
|
|
||||||
dbgln("");
|
dbgln("");
|
||||||
dbgln("Size Distributions of non slab-allocated.");
|
dbgln("Size Distributions of non slab-allocated.");
|
||||||
dbgln("<=8B: {}", distributions[0]);
|
dbgln("Pages used: {}",
|
||||||
dbgln("<=16B: {}", distributions[1]);
|
(next_addr_ - kKernelBuddyHeapStart - 1) / 0x1000 + 1);
|
||||||
dbgln("<=32B: {}", distributions[2]);
|
// Active Allocs.
|
||||||
dbgln("<=64B: {}", distributions[3]);
|
dbgln("Active Allocations: {}", alloc_count_);
|
||||||
dbgln("<=128B: {}", distributions[4]);
|
|
||||||
dbgln("<=256B: {}", distributions[5]);
|
dbgln("<=256B: {}", distributions[0]);
|
||||||
dbgln("<=512B: {}", distributions[6]);
|
dbgln("<=512B: {}", distributions[1]);
|
||||||
dbgln("<=1KiB: {}", distributions[7]);
|
dbgln("<=1KiB: {}", distributions[2]);
|
||||||
dbgln("<=2KiB: {}", distributions[8]);
|
dbgln("<=2KiB: {}", distributions[3]);
|
||||||
dbgln("<=4KiB: {}", distributions[9]);
|
dbgln("<=4KiB: {}", distributions[4]);
|
||||||
dbgln("> 4KiB: {}", distributions[10]);
|
dbgln("> 4KiB: {}", distributions[5]);
|
||||||
dbgln("");
|
dbgln("");
|
||||||
}
|
}
|
||||||
|
|
||||||
void KernelHeap::RecordSize(uint64_t size) {
|
void KernelHeap::RecordSize(uint64_t size) {
|
||||||
size -= 1;
|
size -= 1;
|
||||||
size >>= 3;
|
size >>= 8;
|
||||||
uint64_t index = 0;
|
uint64_t index = 0;
|
||||||
while (size && index < 11) {
|
while (size && index < 5) {
|
||||||
size >>= 1;
|
size >>= 1;
|
||||||
index++;
|
index++;
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,19 +29,13 @@ class KernelHeap {
|
||||||
SlabAllocator slab_64_{64};
|
SlabAllocator slab_64_{64};
|
||||||
SlabAllocator slab_128_{128};
|
SlabAllocator slab_128_{128};
|
||||||
|
|
||||||
// Distribution collection for the purpose of investigating a slab allocator.
|
// 0: 128B-256B
|
||||||
// 0: 0-8B
|
// 1: 256B-512B
|
||||||
// 1: 8B-16B
|
// 2: 512B-1KiB
|
||||||
// 2: 16B-32B
|
// 3: 1KiB-2KiB
|
||||||
// 3: 32B-64B
|
// 4: 2KiB-4KiB
|
||||||
// 4: 64B-128B
|
// 5: 4KiB+
|
||||||
// 5: 128B-256B
|
uint64_t distributions[6];
|
||||||
// 6: 256B-512B
|
|
||||||
// 7: 512B-1KiB
|
|
||||||
// 8: 1KiB-2KiB
|
|
||||||
// 9: 2KiB-4KiB
|
|
||||||
// 10: 4KiB+
|
|
||||||
uint64_t distributions[11];
|
|
||||||
|
|
||||||
void RecordSize(uint64_t size);
|
void RecordSize(uint64_t size);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue