duckOS
duckOS copied to clipboard
Kernel: [WIP] Use a tree for VMSpace instead of a linked list
New PR since I accidentally screwed up the last one by setting its branch to gh-pages somehow...
This updates VMSpace to use a tree structure to store regions instead of a linked list, which simplifies things and (theoretically) speeds them up as well.
In practice, however, this seems to make things considerably slower. I'm not 100% sure why this is. The first thing that comes to mind is that traversing the map while forking is slower than traversing a linked list. But, usually, the maps are pretty small and forking happens pretty infrequently, so that's most likely not the culprit. I'll have to do some benchmarking to compare allocation and lookup times, probably.