diff options
author | Andi Kleen <ak@suse.de> | 2008-07-24 00:27:46 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-24 13:47:17 -0400 |
commit | 01ad1c0827db5b3695c53e296dbb2c1da16a0911 (patch) | |
tree | 80c46c00832094f2413ad97b8e1953018a71cc68 | |
parent | b54bbf7b81170f03597c17dd0b559e3006bc9868 (diff) |
mm: export prep_compound_page to mm
hugetlb will need to get compound pages from bootmem to handle the case of
them being greater than or equal to MAX_ORDER. Export the constructor
function needed for this.
Acked-by: Adam Litke <agl@us.ibm.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | mm/internal.h | 2 | ||||
-rw-r--r-- | mm/page_alloc.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/mm/internal.h b/mm/internal.h index 858ad01864dc..1f43f7416972 100644 --- a/mm/internal.h +++ b/mm/internal.h | |||
@@ -16,6 +16,8 @@ | |||
16 | void free_pgtables(struct mmu_gather *tlb, struct vm_area_struct *start_vma, | 16 | void free_pgtables(struct mmu_gather *tlb, struct vm_area_struct *start_vma, |
17 | unsigned long floor, unsigned long ceiling); | 17 | unsigned long floor, unsigned long ceiling); |
18 | 18 | ||
19 | extern void prep_compound_page(struct page *page, unsigned long order); | ||
20 | |||
19 | static inline void set_page_count(struct page *page, int v) | 21 | static inline void set_page_count(struct page *page, int v) |
20 | { | 22 | { |
21 | atomic_set(&page->_count, v); | 23 | atomic_set(&page->_count, v); |
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index e43aae135b38..eaa86671ebbd 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
@@ -264,7 +264,7 @@ static void free_compound_page(struct page *page) | |||
264 | __free_pages_ok(page, compound_order(page)); | 264 | __free_pages_ok(page, compound_order(page)); |
265 | } | 265 | } |
266 | 266 | ||
267 | static void prep_compound_page(struct page *page, unsigned long order) | 267 | void prep_compound_page(struct page *page, unsigned long order) |
268 | { | 268 | { |
269 | int i; | 269 | int i; |
270 | int nr_pages = 1 << order; | 270 | int nr_pages = 1 << order; |