slab: setup cpu caches later on when interrupts are enabled
Fixes the following boot-time warning:
[ 0.000000] ------------[ cut here ]------------
[ 0.000000] WARNING: at kernel/smp.c:369 smp_call_function_many+0x56/0x1bc()
[ 0.000000] Hardware name:
[ 0.000000] Modules linked in:
[ 0.000000] Pid: 0, comm: swapper Not tainted 2.6.30 #492
[ 0.000000] Call Trace:
[ 0.000000] [<
ffffffff8149e021>] ? _spin_unlock+0x4f/0x5c
[ 0.000000] [<
ffffffff8108f11b>] ? smp_call_function_many+0x56/0x1bc
[ 0.000000] [<
ffffffff81061764>] warn_slowpath_common+0x7c/0xa9
[ 0.000000] [<
ffffffff810617a5>] warn_slowpath_null+0x14/0x16
[ 0.000000] [<
ffffffff8108f11b>] smp_call_function_many+0x56/0x1bc
[ 0.000000] [<
ffffffff810f3e00>] ? do_ccupdate_local+0x0/0x54
[ 0.000000] [<
ffffffff810f3e00>] ? do_ccupdate_local+0x0/0x54
[ 0.000000] [<
ffffffff8108f2be>] smp_call_function+0x3d/0x68
[ 0.000000] [<
ffffffff810f3e00>] ? do_ccupdate_local+0x0/0x54
[ 0.000000] [<
ffffffff81066fd8>] on_each_cpu+0x31/0x7c
[ 0.000000] [<
ffffffff810f64f5>] do_tune_cpucache+0x119/0x454
[ 0.000000] [<
ffffffff81087080>] ? lockdep_init_map+0x94/0x10b
[ 0.000000] [<
ffffffff818133b0>] ? kmem_cache_init+0x421/0x593
[ 0.000000] [<
ffffffff810f69cf>] enable_cpucache+0x68/0xad
[ 0.000000] [<
ffffffff818133c3>] kmem_cache_init+0x434/0x593
[ 0.000000] [<
ffffffff8180987c>] ? mem_init+0x156/0x161
[ 0.000000] [<
ffffffff817f8aae>] start_kernel+0x1cc/0x3b9
[ 0.000000] [<
ffffffff817f829a>] x86_64_start_reservations+0xaa/0xae
[ 0.000000] [<
ffffffff817f837f>] x86_64_start_kernel+0xe1/0xe8
[ 0.000000] ---[ end trace
4eaa2a86a8e2da22 ]---
Cc: Christoph Lameter <cl@linux-foundation.org>
Cc: Nick Piggin <npiggin@suse.de>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>