mm: Move pgtable_cache_init() earlier

2 messages, 2 authors, 2009-06-17 · open the first message on its own page

mm: Move pgtable_cache_init() earlier

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2009-06-17 03:47:17

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@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)

Re: mm: Move pgtable_cache_init() earlier

From: Pekka Enberg <hidden>
Date: 2009-06-17 04:16:01

Hi Ben,

On Wed, Jun 17, 2009 at 6:48 AM, Benjamin
Herrenschmidt[off-list ref] wrote:
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@kernel.crashing.org>
Looks good to me!

Acked-by: Pekka Enberg <redacted>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help