mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 19:57:45 +00:00
Kernel: Add support for profiling kmalloc()/kfree()
This commit is contained in:
parent
572bbf28cc
commit
277f333b2b
10 changed files with 84 additions and 2 deletions
|
@ -52,6 +52,16 @@ struct [[gnu::packed]] ContextSwitchPerformanceEvent {
|
|||
u32 next_tid;
|
||||
};
|
||||
|
||||
struct [[gnu::packed]] KMallocPerformanceEvent {
|
||||
size_t size;
|
||||
FlatPtr ptr;
|
||||
};
|
||||
|
||||
struct [[gnu::packed]] KFreePerformanceEvent {
|
||||
size_t size;
|
||||
FlatPtr ptr;
|
||||
};
|
||||
|
||||
struct [[gnu::packed]] PerformanceEvent {
|
||||
u16 type { 0 };
|
||||
u8 stack_size { 0 };
|
||||
|
@ -68,6 +78,8 @@ struct [[gnu::packed]] PerformanceEvent {
|
|||
ProcessExecPerformanceEvent process_exec;
|
||||
ThreadCreatePerformanceEvent thread_create;
|
||||
ContextSwitchPerformanceEvent context_switch;
|
||||
KMallocPerformanceEvent kmalloc;
|
||||
KFreePerformanceEvent kfree;
|
||||
} data;
|
||||
static constexpr size_t max_stack_frame_count = 64;
|
||||
FlatPtr stack[max_stack_frame_count];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue