aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorAndrew Morton <akpm@digeo.com>2003-05-07 08:15:13 -0700
committerLinus Torvalds <torvalds@home.transmeta.com>2003-05-07 08:15:13 -0700
commit862fb2829261c21f53e9bcd843c801d4781512a8 (patch)
treec6d63ef6983b859ee338efcbbeb52193e2f54d1d /init
parentc06d6406794377f1335ed4694d762c1bacc57519 (diff)
downloadhistory-862fb2829261c21f53e9bcd843c801d4781512a8.tar.gz
[PATCH] slab: initialisation cleanup and oops fix
From: Manfred Spraul <manfred@colorfullife.com> attached is the promised cleanup/bugfix patch for the slab bootstrap: - kmem_cache_init & kmem_cache_sizes_init merged into one function, called after mem_init(). It's impossible to bring slab to an operational state without working gfp, thus the early partial initialization is not necessary. - g_cpucache_up set to FULL at the end of kmem_cache_init instead of the module init call. This is a bugfix: slab was completely initialized, just the update of the state was missing. - some documentation for the bootstrap added. The minimal fix for the bug is a two-liner: move g_cpucache_up=FULL from cpucache_init to kmem_cache_sizes_init, but I want to get rid of kmem_cache_sizes_init, too.
Diffstat (limited to 'init')
-rw-r--r--init/main.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/init/main.c b/init/main.c
index edb701549dfffc..74e083a3fcf50f 100644
--- a/init/main.c
+++ b/init/main.c
@@ -417,7 +417,6 @@ asmlinkage void __init start_kernel(void)
*/
console_init();
profile_init();
- kmem_cache_init();
local_irq_enable();
calibrate_delay();
#ifdef CONFIG_BLK_DEV_INITRD
@@ -430,7 +429,7 @@ asmlinkage void __init start_kernel(void)
#endif
page_address_init();
mem_init();
- kmem_cache_sizes_init();
+ kmem_cache_init();
pidmap_init();
pgtable_cache_init();
pte_chain_init();