mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 18:37:35 +00:00
Kernel: Remove the kmalloc_eternal heap :^)
This was a premature optimization from the early days of SerenityOS. The eternal heap was a simple bump pointer allocator over a static byte array. My original idea was to avoid heap fragmentation and improve data locality, but both ideas were rooted in cargo culting, not data. We would reserve 4 MiB at boot and only ended up using ~256 KiB, wasting the rest. This patch replaces all kmalloc_eternal() usage by regular kmalloc().
This commit is contained in:
parent
a1be135891
commit
ac7ce12123
46 changed files with 5 additions and 82 deletions
|
@ -39,14 +39,12 @@ enum class align_val_t : size_t {};
|
|||
};
|
||||
|
||||
void kmalloc_init();
|
||||
[[gnu::malloc, gnu::returns_nonnull, gnu::alloc_size(1)]] void* kmalloc_eternal(size_t);
|
||||
|
||||
void kfree_sized(void*, size_t);
|
||||
|
||||
struct kmalloc_stats {
|
||||
size_t bytes_allocated;
|
||||
size_t bytes_free;
|
||||
size_t bytes_eternal;
|
||||
size_t kmalloc_call_count;
|
||||
size_t kfree_call_count;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue