• A
    mm/thp: split out pmd collapse flush into separate functions · 15a25b2e
    Aneesh Kumar K.V 提交于
    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: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
    Acked-by: NKirill 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: NAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    15a25b2e
pgtable_64.c 22.5 KB