aboutsummaryrefslogtreecommitdiffstats
path: root/net/unix
diff options
context:
space:
mode:
authorDenis V. Lunev <den@openvz.org>2007-12-11 07:19:17 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 17:57:14 -0500
commita0a53c8ba95451feef6c1975016f0a1eb3044ad4 (patch)
tree0b64ce018878cbaa0bf5cdfa308d4a7e71218914 /net/unix
parent27147c9e6e8316af91dea487aa2c14b18dcff4cf (diff)
[NETNS]: struct net content re-work (v3)
Recently David Miller and Herbert Xu pointed out that struct net becomes overbloated and un-maintainable. There are two solutions: - provide a pointer to a network subsystem definition from struct net. This costs an additional dereferrence - place sub-system definition into the structure itself. This will speedup run-time access at the cost of recompilation time The second approach looks better for us. Other sub-systems will follow. Signed-off-by: Denis V. Lunev <den@openvz.org> Acked-by: Daniel Lezcano <dlezcano@fr.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/unix')
-rw-r--r--net/unix/af_unix.c4
-rw-r--r--net/unix/sysctl_net_unix.c12
2 files changed, 8 insertions, 8 deletions
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
index b8a2189fb5c0..63a9239571a4 100644
--- a/net/unix/af_unix.c
+++ b/net/unix/af_unix.c
@@ -592,7 +592,7 @@ static struct sock * unix_create1(struct net *net, struct socket *sock)
592 &af_unix_sk_receive_queue_lock_key); 592 &af_unix_sk_receive_queue_lock_key);
593 593
594 sk->sk_write_space = unix_write_space; 594 sk->sk_write_space = unix_write_space;
595 sk->sk_max_ack_backlog = net->sysctl_unix_max_dgram_qlen; 595 sk->sk_max_ack_backlog = net->unx.sysctl_max_dgram_qlen;
596 sk->sk_destruct = unix_sock_destructor; 596 sk->sk_destruct = unix_sock_destructor;
597 u = unix_sk(sk); 597 u = unix_sk(sk);
598 u->dentry = NULL; 598 u->dentry = NULL;
@@ -2138,7 +2138,7 @@ static int unix_net_init(struct net *net)
2138{ 2138{
2139 int error = -ENOMEM; 2139 int error = -ENOMEM;
2140 2140
2141 net->sysctl_unix_max_dgram_qlen = 10; 2141 net->unx.sysctl_max_dgram_qlen = 10;
2142 if (unix_sysctl_register(net)) 2142 if (unix_sysctl_register(net))
2143 goto out; 2143 goto out;
2144 2144
diff --git a/net/unix/sysctl_net_unix.c b/net/unix/sysctl_net_unix.c
index 553ef6a487d0..77513d7e35f2 100644
--- a/net/unix/sysctl_net_unix.c
+++ b/net/unix/sysctl_net_unix.c
@@ -18,7 +18,7 @@ static ctl_table unix_table[] = {
18 { 18 {
19 .ctl_name = NET_UNIX_MAX_DGRAM_QLEN, 19 .ctl_name = NET_UNIX_MAX_DGRAM_QLEN,
20 .procname = "max_dgram_qlen", 20 .procname = "max_dgram_qlen",
21 .data = &init_net.sysctl_unix_max_dgram_qlen, 21 .data = &init_net.unx.sysctl_max_dgram_qlen,
22 .maxlen = sizeof(int), 22 .maxlen = sizeof(int),
23 .mode = 0644, 23 .mode = 0644,
24 .proc_handler = &proc_dointvec 24 .proc_handler = &proc_dointvec
@@ -40,9 +40,9 @@ int unix_sysctl_register(struct net *net)
40 if (table == NULL) 40 if (table == NULL)
41 goto err_alloc; 41 goto err_alloc;
42 42
43 table[0].data = &net->sysctl_unix_max_dgram_qlen; 43 table[0].data = &net->unx.sysctl_max_dgram_qlen;
44 net->unix_ctl = register_net_sysctl_table(net, unix_path, table); 44 net->unx.ctl = register_net_sysctl_table(net, unix_path, table);
45 if (net->unix_ctl == NULL) 45 if (net->unx.ctl == NULL)
46 goto err_reg; 46 goto err_reg;
47 47
48 return 0; 48 return 0;
@@ -57,8 +57,8 @@ void unix_sysctl_unregister(struct net *net)
57{ 57{
58 struct ctl_table *table; 58 struct ctl_table *table;
59 59
60 table = net->unix_ctl->ctl_table_arg; 60 table = net->unx.ctl->ctl_table_arg;
61 unregister_sysctl_table(net->unix_ctl); 61 unregister_sysctl_table(net->unx.ctl);
62 kfree(table); 62 kfree(table);
63} 63}
64 64