• David Gibson's avatar
    powerpc/mm: Cleanup management of kmem_caches for pagetables · a0668cdc
    David Gibson authored
    Currently we have a fair bit of rather fiddly code to manage the
    various kmem_caches used to store page tables of various levels.  We
    generally have two caches holding some combination of PGD, PUD and PMD
    tables, plus several more for the special hugepage pagetables.
    
    This patch cleans this all up by taking a different approach.  Rather
    than the caches being designated as for PUDs or for hugeptes for 16M
    pages, the caches are simply allocated to be a specific size.  Thus
    sharing of caches between different types/levels of pagetables happens
    naturally.  The pagetable size, where needed, is passed around encoded
    in the same way as {PGD,PUD,PMD}_INDEX_SIZE; that is n where the
    pagetable contains 2^n pointers.
    Signed-off-by: default avatarDavid Gibson <dwg@au1.ibm.com>
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    a0668cdc
pgtable.c 9.23 KB