• M
    mm: add mm_pxd_folded checks to pgtable_bytes accounting functions · 28a3b553
    Martin Schwidefsky 提交于
    [ Upstream commit 6d212db11947ae5464e4717536ed9faf61c01e86 ]
    
    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.
    Acked-by: NKirill A. Shutemov <kirill.shutemov@linux.intel.com>
    Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
    Signed-off-by: NSasha Levin <sashal@kernel.org>
    28a3b553
mm.h 86.7 KB