Przeglądaj źródła

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>
Andi Kleen 17 lat temu
rodzic
commit
01ad1c0827
2 zmienionych plików z 3 dodań i 1 usunięć
  1. 2 0
      mm/internal.h
  2. 1 1
      mm/page_alloc.c

+ 2 - 0
mm/internal.h

@@ -16,6 +16,8 @@
 void free_pgtables(struct mmu_gather *tlb, struct vm_area_struct *start_vma,
 void free_pgtables(struct mmu_gather *tlb, struct vm_area_struct *start_vma,
 		unsigned long floor, unsigned long ceiling);
 		unsigned long floor, unsigned long ceiling);
 
 
+extern void prep_compound_page(struct page *page, unsigned long order);
+
 static inline void set_page_count(struct page *page, int v)
 static inline void set_page_count(struct page *page, int v)
 {
 {
 	atomic_set(&page->_count, v);
 	atomic_set(&page->_count, v);

+ 1 - 1
mm/page_alloc.c

@@ -264,7 +264,7 @@ static void free_compound_page(struct page *page)
 	__free_pages_ok(page, compound_order(page));
 	__free_pages_ok(page, compound_order(page));
 }
 }
 
 
-static void prep_compound_page(struct page *page, unsigned long order)
+void prep_compound_page(struct page *page, unsigned long order)
 {
 {
 	int i;
 	int i;
 	int nr_pages = 1 << order;
 	int nr_pages = 1 << order;