forked from mirrors/linux
		
	s390/hugetlb: switch to generic version of follow_huge_pud()
When pud-sized hugepages were introduced for s390, the generic version of follow_huge_pud() was using pte_page() instead of pud_page(). This would be wrong for s390, see also commit9753412701("mm/hugetlb: use pmd_page() in follow_huge_pmd()"). Therefore, and probably because not all archs were supporting pud_page() at that time, a private version of follow_huge_pud() was added for s390, correctly using pud_page(). Since commit3a194f3f8a("mm/hugetlb: make pud_huge() and follow_huge_pud() aware of non-present pud entry"), the generic version of follow_huge_pud() is now also using pud_page(), and in general behaves similar to follow_huge_pmd(). Therefore we can now switch to the generic version and get rid of the s390-specific follow_huge_pud(). Link: https://lkml.kernel.org/r/20220818135717.609eef8a@thinkpad Signed-off-by: Gerald Schaefer <gerald.schaefer@linux.ibm.com> Cc: Haiyue Wang <haiyue.wang@intel.com> Cc: Miaohe Lin <linmiaohe@huawei.com> Cc: "Huang, Ying" <ying.huang@intel.com> Cc: Baolin Wang <baolin.wang@linux.alibaba.com> Cc: David Hildenbrand <david@redhat.com> Cc: Muchun Song <songmuchun@bytedance.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
		
							parent
							
								
									1813e51eec
								
							
						
					
					
						commit
						1a6baaa0db
					
				
					 1 changed files with 0 additions and 10 deletions
				
			
		| 
						 | 
				
			
			@ -237,16 +237,6 @@ int pud_huge(pud_t pud)
 | 
			
		|||
	return pud_large(pud);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
struct page *
 | 
			
		||||
follow_huge_pud(struct mm_struct *mm, unsigned long address,
 | 
			
		||||
		pud_t *pud, int flags)
 | 
			
		||||
{
 | 
			
		||||
	if (flags & FOLL_GET)
 | 
			
		||||
		return NULL;
 | 
			
		||||
 | 
			
		||||
	return pud_page(*pud) + ((address & ~PUD_MASK) >> PAGE_SHIFT);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool __init arch_hugetlb_valid_size(unsigned long size)
 | 
			
		||||
{
 | 
			
		||||
	if (MACHINE_HAS_EDAT1 && size == PMD_SIZE)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue