On Tue, 2017-05-09 at 18:05 +1000, Michael Ellerman wrote: > Recently in commit f6eedbba7a26 ("powerpc/mm/hash: Increase VA range to > 128TB") > we increased the virtual address space for user processes to 128TB by default, > and up to 512TB if user space opts in. > > This obviously required expanding the range of the Linux page tables. For > Book3s > 64-bit using hash and with PAGE_SIZE=64K, we increased the PGD to 2^15 > entries. > This meant we could cover the full address range, while still being able to > insert a 16G hugepage at the PGD level and a 16M hugepage in the PMD. > > The downside of that geometry is that it uses a lot of memory for the PGD, and > in particular makes the PGD a 4-page allocation, which means it's much more > likely to fail under memory pressure. > > Instead we can make the PMD larger, so that a single PUD entry maps 16G, > allowing the 16G hugepages to sit at that level in the tree. We're then able > to > split the remaining bits between the PUG and PGD. We make the PGD slightly > larger as that results in lower memory usage for typical programs. > > When THP is enabled the PMD actually doubles in size, to 2^11 entries, or 2^14 > bytes, which is large but still < PAGE_SIZE. > > Signed-off-by: Michael Ellerman <m...@ellerman.id.au> > ---
Reviewed-by: Balbir Singh <bsinghar...@gmail.com>