Hi, attached is the promised cleanup/bugfix patch for the slab bootstrap: Changes: - 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. Patch against 2.5.69-mm1, tested with UP and SMP on i386 (with s/read_lock/spin_lock/ in filetable.c). Andrew, what do you think? 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. -- Manfred