diff options
author | Eric Dumazet <dada1@cosmosbay.com> | 2007-11-06 02:39:51 -0500 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-11-07 07:08:59 -0500 |
commit | c5a432f1a18b4b2efe691dd6bbb30d86a281f783 (patch) | |
tree | fcbff269067e11c49a0fd99a568edf03036f2d55 /net/ipv6/tcp_ipv6.c | |
parent | 47a31a6ffcca3b55149bccd5b99763e5eea60ac4 (diff) |
[IPV6]: Use the {DEFINE|REF}_PROTO_INUSE infrastructure
Trivial patch to make "tcpv6,udpv6,udplitev6,rawv6" protocols uses the
fast "inuse sockets" infrastructure
Each protocol use then a static percpu var, instead of a dynamic one.
This saves some ram and some cpu cycles
Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/tcp_ipv6.c')
-rw-r--r-- | net/ipv6/tcp_ipv6.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index 06be2a1f2730..3aad861975a0 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c | |||
@@ -2107,6 +2107,8 @@ void tcp6_proc_exit(void) | |||
2107 | } | 2107 | } |
2108 | #endif | 2108 | #endif |
2109 | 2109 | ||
2110 | DEFINE_PROTO_INUSE(tcpv6) | ||
2111 | |||
2110 | struct proto tcpv6_prot = { | 2112 | struct proto tcpv6_prot = { |
2111 | .name = "TCPv6", | 2113 | .name = "TCPv6", |
2112 | .owner = THIS_MODULE, | 2114 | .owner = THIS_MODULE, |
@@ -2141,6 +2143,7 @@ struct proto tcpv6_prot = { | |||
2141 | .compat_setsockopt = compat_tcp_setsockopt, | 2143 | .compat_setsockopt = compat_tcp_setsockopt, |
2142 | .compat_getsockopt = compat_tcp_getsockopt, | 2144 | .compat_getsockopt = compat_tcp_getsockopt, |
2143 | #endif | 2145 | #endif |
2146 | REF_PROTO_INUSE(tcpv6) | ||
2144 | }; | 2147 | }; |
2145 | 2148 | ||
2146 | static struct inet6_protocol tcpv6_protocol = { | 2149 | static struct inet6_protocol tcpv6_protocol = { |