• Aneesh Kumar K.V's avatar
    powerpc/mm/book3s: Check for pmd_large instead of pmd_trans_huge · ae28f17b
    Aneesh Kumar K.V authored
    Update few code paths to check for pmd_large.
    
    set_pmd_at:
    We want to use this to store swap pte at pmd level. For swap ptes we don't want
    to set H_PAGE_THP_HUGE. Hence check for pmd_large in set_pmd_at. This remove
    the false WARN_ON when using this with swap pmd entry.
    
    pmd_page:
    We don't really use them on pmd migration entries. But they can also work with
    migration entries and we don't differentiate at the pte level. Hence update
    pmd_page to work with pmd migration entries too
    
    __find_linux_pte:
    lockless page table walk need to handle pmd migration entries. pmd_trans_huge
    check will return false on them. We don't set thp = 1 for such entries, but
    update hpage_shift correctly. Without this we will walk pmd migration entries
    as a pte page pointer which is wrong.
    Signed-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    ae28f17b
pgtable-book3s64.c 12.4 KB