summaryrefslogtreecommitdiffstats
path: root/drivers/misc/sgi-gru
diff options
context:
space:
mode:
authorJack Steiner <steiner@sgi.com>2009-12-16 01:48:17 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2009-12-16 16:20:17 +0100
commit74ccd09526a0254c362adcc6c862354d724aa803 (patch)
treea68e4a3be9d83eb7e6bb47eba131e73bd06684d8 /drivers/misc/sgi-gru
parentgru: fix bug in allocation of kernel contexts (diff)
downloadlinux-74ccd09526a0254c362adcc6c862354d724aa803.tar.xz
linux-74ccd09526a0254c362adcc6c862354d724aa803.zip
gru: add hugepage support
Add support for hugepages. Easier than I originally thought. Signed-off-by: Jack Steiner <steiner@sgi.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/misc/sgi-gru')
-rw-r--r--drivers/misc/sgi-gru/grufault.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/misc/sgi-gru/grufault.c b/drivers/misc/sgi-gru/grufault.c
index b56009f9203a..929d6073e600 100644
--- a/drivers/misc/sgi-gru/grufault.c
+++ b/drivers/misc/sgi-gru/grufault.c
@@ -192,10 +192,11 @@ static int non_atomic_pte_lookup(struct vm_area_struct *vma,
{
struct page *page;
- /* ZZZ Need to handle HUGE pages */
- if (is_vm_hugetlb_page(vma))
- return -EFAULT;
+#ifdef CONFIG_HUGETLB_PAGE
+ *pageshift = is_vm_hugetlb_page(vma) ? HPAGE_SHIFT : PAGE_SHIFT;
+#else
*pageshift = PAGE_SHIFT;
+#endif
if (get_user_pages
(current, current->mm, vaddr, 1, write, 0, &page, NULL) <= 0)
return -EFAULT;