mirror of
https://github.com/RGBCube/serenity
synced 2025-05-14 08:44:58 +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
|
@ -65,7 +65,7 @@ UNMAP_AFTER_INIT static void load_kernel_symbols_from_data(Bytes buffer)
|
|||
|
||||
for (size_t i = 0; i < 8; ++i)
|
||||
s_symbol_count = (s_symbol_count << 4) | parse_hex_digit(*(bufptr++));
|
||||
s_symbols = static_cast<KernelSymbol*>(kmalloc_eternal(sizeof(KernelSymbol) * s_symbol_count));
|
||||
s_symbols = static_cast<KernelSymbol*>(kmalloc(sizeof(KernelSymbol) * s_symbol_count));
|
||||
++bufptr; // skip newline
|
||||
|
||||
dmesgln("Loading kernel symbol table...");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue