On Mon, Oct 15, 2018 at 06:42:38PM +0200, Martin Schwidefsky wrote: > The common mm code calls mm_dec_nr_pmds() and mm_dec_nr_puds() > in free_pgtables() if the address range spans a full pud or pmd. > If mm_dec_nr_puds/mm_dec_nr_pmds are non-empty due to configuration > settings they blindly subtract the size of the pmd or pud table from > pgtable_bytes even if the pud or pmd page table layer is folded. > > Add explicit mm_[pmd|pud]_folded checks to the four pgtable_bytes > accounting functions mm_inc_nr_puds, mm_inc_nr_pmds, mm_dec_nr_puds > and mm_dec_nr_pmds. As the check for folded page tables can be > overwritten by the architecture, this allows to keep a correct > pgtable_bytes value for platforms that use a dynamic number of > page table levels. > > Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Looks fine to me. Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> -- Kirill A. Shutemov