• Aneesh Kumar K.V's avatar
    mm/thp: split out pmd collapse flush into separate functions · 15a25b2e
    Aneesh Kumar K.V authored
    Architectures like ppc64 [1] need to do special things while clearing pmd
    before a collapse.  For them this operation is largely different from a
    normal hugepage pte clear.  Hence add a separate function to clear pmd
    before collapse.  After this patch pmdp_* functions operate only on
    hugepage pte, and not on regular pmd_t values pointing to page table.
    
    [1] ppc64 needs to invalidate all the normal page pte mappings we already
    have inserted in the hardware hash page table.  But before doing that we
    need to make sure there are no parallel hash page table insert going on.
    So we need to do a kick_all_cpus_sync() before flushing the older hash
    table entries.  By moving this to a separate function we capture these
    details and mention how it is different from a hugepage pte clear.
    
    This patch is a cleanup and only does code movement for clarity.  There
    should not be any change in functionality.
    Signed-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
    Acked-by: default avatarKirill A. Shutemov <kirill.shutemov@linux.intel.com>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    15a25b2e
huge_memory.c 79.1 KB