On Mon, Aug 31, 2020 at 11:25:51AM -0600, Theo de Raadt wrote: > > 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.
This effect is reduced by making small shrinks a no-op. > > 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.
