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 <ira.weiny@xxxxxxxxx> Cc: John Hubbard <jhubbard@xxxxxxxxxx> Cc: Jérôme Glisse <jglisse@xxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Dimitri Sivanich <sivanich@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: William Kucharski <william.kucharski@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mm@xxxxxxxxx Reviewed-by: John Hubbard <jhubbard@xxxxxxxxxx> Reviewed-by: William Kucharski <william.kucharski@xxxxxxxxxx> Reviewed-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Bharath Vedartham <linux.bhar@xxxxxxxxx> --- 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 <linux.bhar@xxxxxxxxx> --- 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