2.6.16-rc1-mm3: mips, sparc64 split_page breakage

From: Alexey Dobriyan
Date: Wed Jan 25 2006 - 03:57:40 EST


mm/page_alloc.c:762: * split_page takes a non-compound higher-order page, and splits it into
mm/page_alloc.c:769:void split_page(struct page *page, unsigned int order)
mm/memory.c:1213: * (see split_page()).
arch/sh/mm/consistent.c:26: split_page(page, order);
arch/arm/mm/consistent.c:226: split_page(page, order);
arch/frv/mm/dma-alloc.c:118: split_page(rpage, order);
arch/ppc/kernel/dma-mapping.c:226: split_page(page, order);

arch/mips/mm/init.c:69: split_page(page); <===
arch/sparc64/mm/init.c:1079: split_page(page); <===

arch/xtensa/mm/pgtable.c:24: split_page(virt_to_page(p), COLOR_ORDER);
arch/xtensa/mm/pgtable.c:54: split_page(p, COLOR_ORDER);
include/linux/mm.h:337:void split_page(struct page *page, unsigned int order);
include/linux/mm.h:339:static inline void split_page(struct page *page, unsigned int order) {}

Signed-off-by: Alexey Dobriyan <adobriyan@xxxxxxxxx>

--- linux-2.6.16-rc1-mm3/arch/mips/mm/init.c
+++ linux-1/arch/mips/mm/init.c
@@ -53,8 +53,9 @@ unsigned long empty_zero_page, zero_page
*/
unsigned long setup_zero_pages(void)
{
- unsigned long order, size;
+ unsigned long size;
struct page *page;
+ int order;

if (cpu_has_vce)
order = 3;
@@ -66,7 +67,7 @@ unsigned long setup_zero_pages(void)
panic("Oh boy, that early out of memory?");

page = virt_to_page(empty_zero_page);
- split_page(page);
+ split_page(page, order);
while (page < virt_to_page(empty_zero_page + (PAGE_SIZE << order))) {
SetPageReserved(page);
page++;

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/