summaryrefslogtreecommitdiff
path: root/.prettierignore
diff options
context:
space:
mode:
authorAndreas Kling <kling@serenityos.org>2021-12-25 17:23:18 +0100
committerAndreas Kling <kling@serenityos.org>2021-12-25 22:07:59 +0100
commitf7a4c34929361d3df905d49e7ae20d2eb5f90ff3 (patch)
tree1cc99990192ef163734902f4e268b48e04b2a735 /.prettierignore
parent1a35e27490b7551717af943b9a798df848512a23 (diff)
downloadserenity-f7a4c34929361d3df905d49e7ae20d2eb5f90ff3.zip
Kernel: Make kmalloc heap expansion kmalloc-free
Previously, the heap expansion logic could end up calling kmalloc recursively, which was quite messy and hard to reason about. This patch redesigns heap expansion so that it's kmalloc-free: - We make a single large virtual range allocation at startup - When expanding, we bump allocate VM from that region - When expanding, we populate page tables directly ourselves, instead of going via MemoryManager. This makes heap expansion a great deal simpler. However, do note that it introduces two new flaws that we'll need to deal with eventually: - The single virtual range allocation is limited to 64 MiB and once exhausted, kmalloc() will fail. (Actually, it will PANIC for now..) - The kmalloc heap can no longer shrink once expanded. Subheaps stay in place once constructed.
Diffstat (limited to '.prettierignore')
0 files changed, 0 insertions, 0 deletions