[IPV4]: fib hash|trie initialization

Initialization of the slab cache's should be done when IP is
initialized to make sure of available memory, and that code can be
marked __init.

Signed-off-by: Stephen Hemminger <stephen.hemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Stephen Hemminger
2008-01-14 23:14:20 -08:00
committed by David S. Miller
parent d717a9a620
commit 7f9b80529b
4 changed files with 28 additions and 26 deletions

View File

@ -1926,19 +1926,19 @@ out:
return -1;
}
/* Fix more generic FIB names for init later */
void __init fib_hash_init(void)
{
fn_alias_kmem = kmem_cache_create("ip_fib_alias", sizeof(struct fib_alias),
0, SLAB_HWCACHE_ALIGN|SLAB_PANIC, NULL);
}
struct fib_table *fib_hash_init(u32 id)
/* Fix more generic FIB names for init later */
struct fib_table *fib_hash_table(u32 id)
{
struct fib_table *tb;
struct trie *t;
if (fn_alias_kmem == NULL)
fn_alias_kmem = kmem_cache_create("ip_fib_alias",
sizeof(struct fib_alias),
0, SLAB_HWCACHE_ALIGN,
NULL);
tb = kmalloc(sizeof(struct fib_table) + sizeof(struct trie),
GFP_KERNEL);
if (tb == NULL)