summaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorAkinobu Mita <akinobu.mita@gmail.com>2008-04-29 01:03:13 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-04-29 08:06:25 -0700
commit199f0ca514f9c17668eec4f935c4ba24cd789f85 (patch)
tree54406e3eb5be58e3350d8f60a64ac78ec3990f97 /init
parent801678c5a3b4c79236970bcca27c733f5559e0d1 (diff)
downloadlinux-199f0ca514f9c17668eec4f935c4ba24cd789f85.tar.gz
linux-199f0ca514f9c17668eec4f935c4ba24cd789f85.tar.bz2
linux-199f0ca514f9c17668eec4f935c4ba24cd789f85.zip
idr: create idr_layer_cache at boot time
Avoid a possible kmem_cache_create() failure by creating idr_layer_cache unconditionary at boot time rather than creating it on-demand when idr_init() is called the first time. This change also enables us to eliminate the check every time idr_init() is called. [akpm@linux-foundation.org: rename init_id_cache() to idr_init_cache()] [akpm@linux-foundation.org: fix alpha build] Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'init')
-rw-r--r--init/main.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/init/main.c b/init/main.c
index c62c98f381f2..624266b524d4 100644
--- a/init/main.c
+++ b/init/main.c
@@ -58,6 +58,7 @@
#include <linux/kthread.h>
#include <linux/sched.h>
#include <linux/signal.h>
+#include <linux/idr.h>
#include <asm/io.h>
#include <asm/bugs.h>
@@ -637,6 +638,7 @@ asmlinkage void __init start_kernel(void)
enable_debug_pagealloc();
cpu_hotplug_init();
kmem_cache_init();
+ idr_init_cache();
setup_per_cpu_pageset();
numa_policy_init();
if (late_time_init)