mmlr + bonefish:
* Add optional stack trace capturing for slab memory manager tracing.
* Add allocation tracking for the slab allocator (enabled via
SLAB_ALLOCATION_TRACKING). The allocation tracking requires tracing
with stack traces to be enabled for object caches and/or the memory
manager.
- Add class AllocationTrackingInfo that associates an allocation with
its respective tracing entry. The structure is added to the end of
an allocation done by the memory manager. For the object caches
there's a separate array for each slab.
- Add code range markers to the slab code, so that the first caller
into the slab code can be retrieved from the stack traces.
- Add KDL command "allocations_per_caller" that lists all allocations
summarized by caller.
* Move debug definitions from slab_private.h to slab_debug.h.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43072 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -42,7 +42,7 @@
|
||||
#define DEBUG_FILE_MAP KDEBUG_LEVEL_1
|
||||
|
||||
|
||||
// heap
|
||||
// heap / slab
|
||||
|
||||
// Initialize newly allocated memory with something non zero.
|
||||
#define PARANOID_KERNEL_MALLOC KDEBUG_LEVEL_2
|
||||
@@ -57,6 +57,9 @@
|
||||
// Enables the "allocations*" debugger commands.
|
||||
#define KERNEL_HEAP_LEAK_CHECK 0
|
||||
|
||||
// Enables the "allocations*" debugger commands for the slab.
|
||||
#define SLAB_ALLOCATION_TRACKING 0
|
||||
|
||||
|
||||
// interrupts
|
||||
|
||||
|
||||
Reference in New Issue
Block a user