Understanding Mesh Allocator
veera.app
veera.app
Slightly more concerning is that docs claim large pages don not support paging (to disk).
So more TLB entries are not required immediately when pages are merged, they are required later when more objects are allocated. It's certainly possible that I've misunderstood and the pages are actually un-merged by Mesh at this point so that new allocations can be served from the existing 2 half-full virtual pages (which are now backed by 2 separate half-full physical pages).
Software people think the MMUs are zero-cost, memory mappings are free, and TLBs are infinite. None of these are true.
Can we assume that we’ll never see such a memory architecture again?
I found this https://github.com/jemalloc/jemalloc/issues/1440 but couldn't find tcmalloc doing similar.
These guys are aware of mesh and compare against it: https://abelay.github.io/6828seminar/papers/maas:llama.pdf