• Martin Schwidefsky's avatar
    s390/mm: simplify page table alloc/free code · 78fb9076
    Martin Schwidefsky authored
    With the removal of the dynamic reallocation of page tables for
    KVM (see git commit 0b46e0a3)
    the page table allocation / freeing code can be simplified.
    
    The page table free code can now use the alloc_pgste bit in the
    mm context to decide if a page table is 2K or 4K, there is no mix
    of different sized page tables anymore. This eliminates the need
    to use "page->_mapcount == 0" to check for 4K page table.
    
    Use the lower two bits in page->_mapcount to indicate which
    2K fragments of the 4K page are in use.
    
    As 31-bit support is gone, remove the two defines ALLOC_ORDER
    and FRAG_MASK and use the constants directly where appropriate.
    Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
    78fb9076
pgtable.c 35.3 KB