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/udplite.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/udplite.c')
-rw-r--r-- | net/ipv6/udplite.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/ipv6/udplite.c b/net/ipv6/udplite.c index 766566f7de47..5a0379f71415 100644 --- a/net/ipv6/udplite.c +++ b/net/ipv6/udplite.c | |||
@@ -40,6 +40,8 @@ static int udplite_v6_get_port(struct sock *sk, unsigned short snum) | |||
40 | return udplite_get_port(sk, snum, ipv6_rcv_saddr_equal); | 40 | return udplite_get_port(sk, snum, ipv6_rcv_saddr_equal); |
41 | } | 41 | } |
42 | 42 | ||
43 | DEFINE_PROTO_INUSE(udplitev6) | ||
44 | |||
43 | struct proto udplitev6_prot = { | 45 | struct proto udplitev6_prot = { |
44 | .name = "UDPLITEv6", | 46 | .name = "UDPLITEv6", |
45 | .owner = THIS_MODULE, | 47 | .owner = THIS_MODULE, |
@@ -62,6 +64,7 @@ struct proto udplitev6_prot = { | |||
62 | .compat_setsockopt = compat_udpv6_setsockopt, | 64 | .compat_setsockopt = compat_udpv6_setsockopt, |
63 | .compat_getsockopt = compat_udpv6_getsockopt, | 65 | .compat_getsockopt = compat_udpv6_getsockopt, |
64 | #endif | 66 | #endif |
67 | REF_PROTO_INUSE(udplitev6) | ||
65 | }; | 68 | }; |
66 | 69 | ||
67 | static struct inet_protosw udplite6_protosw = { | 70 | static struct inet_protosw udplite6_protosw = { |