• Qi Zheng's avatar
    mm: hugetlb: kill set_huge_swap_pte_at() · 18f39629
    Qi Zheng authored
    Commit e5251fd4 ("mm/hugetlb: introduce set_huge_swap_pte_at()
    helper") add set_huge_swap_pte_at() to handle swap entries on
    architectures that support hugepages consisting of contiguous ptes.  And
    currently the set_huge_swap_pte_at() is only overridden by arm64.
    
    set_huge_swap_pte_at() provide a sz parameter to help determine the number
    of entries to be updated.  But in fact, all hugetlb swap entries contain
    pfn information, so we can find the corresponding folio through the pfn
    recorded in the swap entry, then the folio_size() is the number of entries
    that need to be updated.
    
    And considering that users will easily cause bugs by ignoring the
    difference between set_huge_swap_pte_at() and set_huge_pte_at().  Let's
    handle swap entries in set_huge_pte_at() and remove the
    set_huge_swap_pte_at(), then we can call set_huge_pte_at() anywhere, which
    simplifies our coding.
    
    Link: https://lkml.kernel.org/r/20220626145717.53572-1-zhengqi.arch@bytedance.comSigned-off-by: default avatarQi Zheng <zhengqi.arch@bytedance.com>
    Acked-by: default avatarMuchun Song <songmuchun@bytedance.com>
    Cc: Mike Kravetz <mike.kravetz@oracle.com>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Will Deacon <will@kernel.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    18f39629
hugetlb.h 1.78 KB