mm: Move pgtable_cache_init() earlier

Benjamin Herrenschmidt benh at kernel.crashing.org
Wed Jun 17 13:48:39 EST 2009


Some architectures need to initialize SLAB caches to be able
to allocate page tables. They do that from pgtable_cache_init()
so the later should be called earlier now, best is before
vmalloc_init().

Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
---

Note: Only powerpc, sparc and xtensa use this and only to
call kmem_cache_create() so with a bit of luck it should
just work... 

Index: linux-work/init/main.c
===================================================================
--- linux-work.orig/init/main.c	2009-06-17 13:41:33.000000000 +1000
+++ linux-work/init/main.c	2009-06-17 13:41:45.000000000 +1000
@@ -546,6 +546,7 @@ static void __init mm_init(void)
 	page_cgroup_init_flatmem();
 	mem_init();
 	kmem_cache_init();
+	pgtable_cache_init();
 	vmalloc_init();
 }
 
@@ -684,7 +685,6 @@ asmlinkage void __init start_kernel(void
 		late_time_init();
 	calibrate_delay();
 	pidmap_init();
-	pgtable_cache_init();
 	anon_vma_init();
 #ifdef CONFIG_X86
 	if (efi_enabled)




More information about the Linuxppc-dev mailing list