[NET]: Small cleanup to socket initialization
Andi Kleen [Thu, 22 Dec 2005 20:43:42 +0000 (12:43 -0800)]
sock_init can be done as a core_initcall instead of calling
it directly in init/main.c

Also I removed an out of date #ifdef.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: David S. Miller <davem@davemloft.net>

include/linux/skbuff.h
include/linux/socket.h
init/main.c
net/socket.c

index 97f6580..9716771 100644 (file)
@@ -32,7 +32,6 @@
 
 #define HAVE_ALLOC_SKB         /* For the drivers to know */
 #define HAVE_ALIGNABLE_SKB     /* Ditto 8)                */
-#define SLAB_SKB               /* Slabified skbuffs       */
 
 #define CHECKSUM_NONE 0
 #define CHECKSUM_HW 1
index 1739c2d..9f40191 100644 (file)
@@ -27,7 +27,6 @@ struct __kernel_sockaddr_storage {
 #include <linux/compiler.h>            /* __user                       */
 
 extern int sysctl_somaxconn;
-extern void sock_init(void);
 #ifdef CONFIG_PROC_FS
 struct seq_file;
 extern void socket_seq_show(struct seq_file *seq);
index 27f97f9..54aaf56 100644 (file)
@@ -47,7 +47,6 @@
 #include <linux/rmap.h>
 #include <linux/mempolicy.h>
 #include <linux/key.h>
-#include <net/sock.h>
 
 #include <asm/io.h>
 #include <asm/bugs.h>
@@ -614,9 +613,6 @@ static void __init do_basic_setup(void)
        sysctl_init();
 #endif
 
-       /* Networking initialization needs a process context */ 
-       sock_init();
-
        do_initcalls();
 }
 
index 3145103..98be7ef 100644 (file)
@@ -2036,7 +2036,7 @@ int sock_unregister(int family)
        return 0;
 }
 
-void __init sock_init(void)
+static int __init sock_init(void)
 {
        /*
         *      Initialize sock SLAB cache.
@@ -2044,12 +2044,10 @@ void __init sock_init(void)
         
        sk_init();
 
-#ifdef SLAB_SKB
        /*
         *      Initialize skbuff SLAB cache 
         */
        skb_init();
-#endif
 
        /*
         *      Initialize the protocols module. 
@@ -2058,8 +2056,8 @@ void __init sock_init(void)
        init_inodecache();
        register_filesystem(&sock_fs_type);
        sock_mnt = kern_mount(&sock_fs_type);
-       /* The real protocol initialization is performed when
-        *  do_initcalls is run.  
+
+       /* The real protocol initialization is performed in later initcalls.
         */
 
 #ifdef CONFIG_NETFILTER
@@ -2067,6 +2065,8 @@ void __init sock_init(void)
 #endif
 }
 
+core_initcall(sock_init);      /* early initcall */
+
 #ifdef CONFIG_PROC_FS
 void socket_seq_show(struct seq_file *seq)
 {