diff options
author | Akinobu Mita <akinobu.mita@gmail.com> | 2008-04-29 04:03:13 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-29 11:06:25 -0400 |
commit | 199f0ca514f9c17668eec4f935c4ba24cd789f85 (patch) | |
tree | 54406e3eb5be58e3350d8f60a64ac78ec3990f97 /init | |
parent | 801678c5a3b4c79236970bcca27c733f5559e0d1 (diff) |
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.c | 2 |
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 @@ | |||
58 | #include <linux/kthread.h> | 58 | #include <linux/kthread.h> |
59 | #include <linux/sched.h> | 59 | #include <linux/sched.h> |
60 | #include <linux/signal.h> | 60 | #include <linux/signal.h> |
61 | #include <linux/idr.h> | ||
61 | 62 | ||
62 | #include <asm/io.h> | 63 | #include <asm/io.h> |
63 | #include <asm/bugs.h> | 64 | #include <asm/bugs.h> |
@@ -637,6 +638,7 @@ asmlinkage void __init start_kernel(void) | |||
637 | enable_debug_pagealloc(); | 638 | enable_debug_pagealloc(); |
638 | cpu_hotplug_init(); | 639 | cpu_hotplug_init(); |
639 | kmem_cache_init(); | 640 | kmem_cache_init(); |
641 | idr_init_cache(); | ||
640 | setup_per_cpu_pageset(); | 642 | setup_per_cpu_pageset(); |
641 | numa_policy_init(); | 643 | numa_policy_init(); |
642 | if (late_time_init) | 644 | if (late_time_init) |