1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-23 02:47:34 +00:00
serenity/Kernel/Heap
Tom 4b66692a55 Kernel: Make Heap implementation reusable, and make kmalloc expandable
Add an ExpandableHeap and switch kmalloc to use it, which allows
for the kmalloc heap to grow as needed.

In order to make heap expansion to work, we keep around a 1 MiB backup
memory region, because creating a region would require space in the
same heap. This means, the heap will grow as soon as the reported
utilization is less than 1 MiB. It will also return memory if an entire
subheap is no longer needed, although that is rarely possible.
2020-08-30 11:39:38 +02:00
..
Heap.h Kernel: Make Heap implementation reusable, and make kmalloc expandable 2020-08-30 11:39:38 +02:00
kmalloc.cpp Kernel: Make Heap implementation reusable, and make kmalloc expandable 2020-08-30 11:39:38 +02:00
kmalloc.h Kernel: Make Heap implementation reusable, and make kmalloc expandable 2020-08-30 11:39:38 +02:00
SlabAllocator.cpp Kernel: Optimize SlabAllocator to be lock-free 2020-08-25 09:48:48 +02:00
SlabAllocator.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00