diff options
author | Andi Kleen <ak@suse.de> | 2008-07-24 00:27:50 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-24 13:47:18 -0400 |
commit | ceb868796181dc95ea01a110e123afd391639873 (patch) | |
tree | 991be618e5195b05c31974a19adb4b9602315013 /mm/hugetlb.c | |
parent | 4abd32dbab201c3ced0b0af12accea77cd9eeffc (diff) |
hugetlb: introduce pud_huge
Straight forward extensions for huge pages located in the PUD instead of
PMDs.
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Nick Piggin <npiggin@suse.de>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/hugetlb.c')
-rw-r--r-- | mm/hugetlb.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 0c74c14dd2f..107c1ce223c 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c | |||
@@ -1996,6 +1996,15 @@ int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma, | |||
1996 | return ret; | 1996 | return ret; |
1997 | } | 1997 | } |
1998 | 1998 | ||
1999 | /* Can be overriden by architectures */ | ||
2000 | __attribute__((weak)) struct page * | ||
2001 | follow_huge_pud(struct mm_struct *mm, unsigned long address, | ||
2002 | pud_t *pud, int write) | ||
2003 | { | ||
2004 | BUG(); | ||
2005 | return NULL; | ||
2006 | } | ||
2007 | |||
1999 | int follow_hugetlb_page(struct mm_struct *mm, struct vm_area_struct *vma, | 2008 | int follow_hugetlb_page(struct mm_struct *mm, struct vm_area_struct *vma, |
2000 | struct page **pages, struct vm_area_struct **vmas, | 2009 | struct page **pages, struct vm_area_struct **vmas, |
2001 | unsigned long *position, int *length, int i, | 2010 | unsigned long *position, int *length, int i, |