Skip to content

Commit

Permalink
[IPV6]: Use the {DEFINE|REF}_PROTO_INUSE infrastructure
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Eric Dumazet authored and David S. Miller committed Nov 7, 2007
1 parent 47a31a6 commit c5a432f
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 0 deletions.
3 changes: 3 additions & 0 deletions net/ipv6/raw.c
Original file line number Diff line number Diff line change
Expand Up @@ -1144,6 +1144,8 @@ static int rawv6_init_sk(struct sock *sk)
return(0);
}

DEFINE_PROTO_INUSE(rawv6)

struct proto rawv6_prot = {
.name = "RAWv6",
.owner = THIS_MODULE,
Expand All @@ -1166,6 +1168,7 @@ struct proto rawv6_prot = {
.compat_setsockopt = compat_rawv6_setsockopt,
.compat_getsockopt = compat_rawv6_getsockopt,
#endif
REF_PROTO_INUSE(rawv6)
};

#ifdef CONFIG_PROC_FS
Expand Down
3 changes: 3 additions & 0 deletions net/ipv6/tcp_ipv6.c
Original file line number Diff line number Diff line change
Expand Up @@ -2107,6 +2107,8 @@ void tcp6_proc_exit(void)
}
#endif

DEFINE_PROTO_INUSE(tcpv6)

struct proto tcpv6_prot = {
.name = "TCPv6",
.owner = THIS_MODULE,
Expand Down Expand Up @@ -2141,6 +2143,7 @@ struct proto tcpv6_prot = {
.compat_setsockopt = compat_tcp_setsockopt,
.compat_getsockopt = compat_tcp_getsockopt,
#endif
REF_PROTO_INUSE(tcpv6)
};

static struct inet6_protocol tcpv6_protocol = {
Expand Down
3 changes: 3 additions & 0 deletions net/ipv6/udp.c
Original file line number Diff line number Diff line change
Expand Up @@ -970,6 +970,8 @@ void udp6_proc_exit(void) {

/* ------------------------------------------------------------------------ */

DEFINE_PROTO_INUSE(udpv6)

struct proto udpv6_prot = {
.name = "UDPv6",
.owner = THIS_MODULE,
Expand All @@ -991,6 +993,7 @@ struct proto udpv6_prot = {
.compat_setsockopt = compat_udpv6_setsockopt,
.compat_getsockopt = compat_udpv6_getsockopt,
#endif
REF_PROTO_INUSE(udpv6)
};

static struct inet_protosw udpv6_protosw = {
Expand Down
3 changes: 3 additions & 0 deletions net/ipv6/udplite.c
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ static int udplite_v6_get_port(struct sock *sk, unsigned short snum)
return udplite_get_port(sk, snum, ipv6_rcv_saddr_equal);
}

DEFINE_PROTO_INUSE(udplitev6)

struct proto udplitev6_prot = {
.name = "UDPLITEv6",
.owner = THIS_MODULE,
Expand All @@ -62,6 +64,7 @@ struct proto udplitev6_prot = {
.compat_setsockopt = compat_udpv6_setsockopt,
.compat_getsockopt = compat_udpv6_getsockopt,
#endif
REF_PROTO_INUSE(udplitev6)
};

static struct inet_protosw udplite6_protosw = {
Expand Down

0 comments on commit c5a432f

Please sign in to comment.