powerpc/mm/radix/hugetlb: Add helper for finding page size from hstate
Use the helper instead of open coding the same at multiple place Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:

committed by
Michael Ellerman

parent
f22dfc9158
commit
fbfa26d854
@@ -11,4 +11,19 @@ extern unsigned long
|
||||
radix__hugetlb_get_unmapped_area(struct file *file, unsigned long addr,
|
||||
unsigned long len, unsigned long pgoff,
|
||||
unsigned long flags);
|
||||
|
||||
static inline int hstate_get_psize(struct hstate *hstate)
|
||||
{
|
||||
unsigned long shift;
|
||||
|
||||
shift = huge_page_shift(hstate);
|
||||
if (shift == mmu_psize_defs[MMU_PAGE_2M].shift)
|
||||
return MMU_PAGE_2M;
|
||||
else if (shift == mmu_psize_defs[MMU_PAGE_1G].shift)
|
||||
return MMU_PAGE_1G;
|
||||
else {
|
||||
WARN(1, "Wrong huge page shift\n");
|
||||
return mmu_virtual_psize;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@@ -22,14 +22,14 @@ extern void radix__local_flush_tlb_mm(struct mm_struct *mm);
|
||||
extern void radix__local_flush_tlb_page(struct vm_area_struct *vma, unsigned long vmaddr);
|
||||
extern void radix__local_flush_tlb_pwc(struct mmu_gather *tlb, unsigned long addr);
|
||||
extern void radix__local_flush_tlb_page_psize(struct mm_struct *mm, unsigned long vmaddr,
|
||||
unsigned long ap);
|
||||
int psize);
|
||||
extern void radix__tlb_flush(struct mmu_gather *tlb);
|
||||
#ifdef CONFIG_SMP
|
||||
extern void radix__flush_tlb_mm(struct mm_struct *mm);
|
||||
extern void radix__flush_tlb_page(struct vm_area_struct *vma, unsigned long vmaddr);
|
||||
extern void radix__flush_tlb_pwc(struct mmu_gather *tlb, unsigned long addr);
|
||||
extern void radix__flush_tlb_page_psize(struct mm_struct *mm, unsigned long vmaddr,
|
||||
unsigned long ap);
|
||||
int psize);
|
||||
#else
|
||||
#define radix__flush_tlb_mm(mm) radix__local_flush_tlb_mm(mm)
|
||||
#define radix__flush_tlb_page(vma,addr) radix__local_flush_tlb_page(vma,addr)
|
||||
|
Reference in New Issue
Block a user