is_vm_hugetlb_page has checks for whether CONFIG_HUGETLB_PAGE is defined or not. If CONFIG_HUGETLB_PAGE is not defined is_vm_hugetlb_page will always return false. There is no need to have an uneccessary CONFIG_HUGETLB_PAGE check in the code.
Cc: Ira Weiny <[email protected]> Cc: John Hubbard <[email protected]> Cc: Jérôme Glisse <[email protected]> Cc: Greg Kroah-Hartman <[email protected]> Cc: Dimitri Sivanich <[email protected]> Cc: Arnd Bergmann <[email protected]> Cc: William Kucharski <[email protected]> Cc: [email protected] Cc: [email protected] Reviewed-by: John Hubbard <[email protected]> Reviewed-by: William Kucharski <[email protected]> Reviewed-by: Ira Weiny <[email protected]> Signed-off-by: Bharath Vedartham <[email protected]> --- Changes since v2 - Added an 'unlikely' if statement as suggested by William Kucharski. This is because of the fact that most systems using this driver won't have CONFIG_HUGE_PAGE enabled and we optimize the branch with an unlikely. Signed-off-by: Bharath Vedartham <[email protected]> --- drivers/misc/sgi-gru/grufault.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/drivers/misc/sgi-gru/grufault.c b/drivers/misc/sgi-gru/grufault.c index 61b3447..bce47af 100644 --- a/drivers/misc/sgi-gru/grufault.c +++ b/drivers/misc/sgi-gru/grufault.c @@ -180,11 +180,11 @@ static int non_atomic_pte_lookup(struct vm_area_struct *vma, { struct page *page; -#ifdef CONFIG_HUGETLB_PAGE - *pageshift = is_vm_hugetlb_page(vma) ? HPAGE_SHIFT : PAGE_SHIFT; -#else - *pageshift = PAGE_SHIFT; -#endif + if (unlikely(is_vm_hugetlb_page(vma))) + *pageshift = HPAGE_SHIFT; + else + *pageshift = PAGE_SHIFT; + if (get_user_pages(vaddr, 1, write ? FOLL_WRITE : 0, &page, NULL) <= 0) return -EFAULT; *paddr = page_to_phys(page); @@ -238,11 +238,12 @@ static int atomic_pte_lookup(struct vm_area_struct *vma, unsigned long vaddr, return 1; *paddr = pte_pfn(pte) << PAGE_SHIFT; -#ifdef CONFIG_HUGETLB_PAGE - *pageshift = is_vm_hugetlb_page(vma) ? HPAGE_SHIFT : PAGE_SHIFT; -#else - *pageshift = PAGE_SHIFT; -#endif + + if (unlikely(is_vm_hugetlb_page(vma))) + *pageshift = HPAGE_SHIFT; + else + *pageshift = PAGE_SHIFT; + return 0; err: -- 2.7.4

