On Thu, Feb 29, 2024 at 05:37:23PM -0800, James Houghton wrote: > - It has HVO (which can hopefully be dropped in a memdesc world) I've spent a bit of time thinking about this. I'll keep this x86-64 specific just to have concrete numbers. Currently a 2MB htlb page without HVO occupies 64 * 512 = 32kB. With HVO, it's reduced to 8kB. A 1GB htlb page occupies 64 * 256k = 8MB, with HVO, it's still 8kB (right?) In a memdesc world, a 2MB page without HVO consumes 8 * 512 = 4kB. There's no room for savings here. But a 1GB page takes 8 * 256k = 2MB. There's still almost 2MB of savings to be had here, so I suspect some people will still want it. Hopefully Yu Zhao's zone proposal lets us enable HVO for THP. At least 1GB ones. I do have a proposal to turn mmap into a much more dynamic data structure where we'd go from a fixed 8 bytes per page to around 16 bytes per allocation. But it depends on memdescs working first, and we haven't demonstrated that yet, so it's not worth talking about. It's much more complicated than 8 bytes per page, so it may not be worth doing.