> Taking advantage of the sparse address space is smart and as 64-bit > is now the norm, that space is even sparser.
Fundamentally this is moving various forms of pressure to the kernel, which does not do the best job yet. The pivot code in mmap for new mappings isn't entirely bug-free so we've avoided it turning it on. The idea of that code is be random as neccessary -- creating "unknowable addresses", but in doing so avoid fragmenting the address space excessively. Excessive fragmentation in turn fragmentations allocation in multi-level page-tables, and that in turn results in excessive TLB pressure. Which is difficult to gauge since things keep working, but brings in a big performance cost. Basically we were brave to do very high amounts of randomization early on. At a cost. But our work to improve the cost isn't finished.
