diff options
author | Eric Dumazet <dada1@cosmosbay.com> | 2007-11-06 02:40:28 -0500 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-11-07 07:09:00 -0500 |
commit | 8295b6d9e623879344ed0ca7565336e4fd698e42 (patch) | |
tree | f80798af3cbd0a4006325037313a195f410dcd23 | |
parent | c5a432f1a18b4b2efe691dd6bbb30d86a281f783 (diff) |
[SCTP]: Use the {DEFINE|REF}_PROTO_INUSE infrastructure
Trivial patch to make "sctcp,sctpv6" 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>
-rw-r--r-- | net/sctp/socket.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/sctp/socket.c b/net/sctp/socket.c index bd6f42a15a4b..a7ecf3159e53 100644 --- a/net/sctp/socket.c +++ b/net/sctp/socket.c | |||
@@ -6455,6 +6455,8 @@ static void sctp_sock_migrate(struct sock *oldsk, struct sock *newsk, | |||
6455 | } | 6455 | } |
6456 | 6456 | ||
6457 | 6457 | ||
6458 | DEFINE_PROTO_INUSE(sctp) | ||
6459 | |||
6458 | /* This proto struct describes the ULP interface for SCTP. */ | 6460 | /* This proto struct describes the ULP interface for SCTP. */ |
6459 | struct proto sctp_prot = { | 6461 | struct proto sctp_prot = { |
6460 | .name = "SCTP", | 6462 | .name = "SCTP", |
@@ -6483,9 +6485,12 @@ struct proto sctp_prot = { | |||
6483 | .memory_pressure = &sctp_memory_pressure, | 6485 | .memory_pressure = &sctp_memory_pressure, |
6484 | .enter_memory_pressure = sctp_enter_memory_pressure, | 6486 | .enter_memory_pressure = sctp_enter_memory_pressure, |
6485 | .memory_allocated = &sctp_memory_allocated, | 6487 | .memory_allocated = &sctp_memory_allocated, |
6488 | REF_PROTO_INUSE(sctp) | ||
6486 | }; | 6489 | }; |
6487 | 6490 | ||
6488 | #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) | 6491 | #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) |
6492 | DEFINE_PROTO_INUSE(sctpv6) | ||
6493 | |||
6489 | struct proto sctpv6_prot = { | 6494 | struct proto sctpv6_prot = { |
6490 | .name = "SCTPv6", | 6495 | .name = "SCTPv6", |
6491 | .owner = THIS_MODULE, | 6496 | .owner = THIS_MODULE, |
@@ -6513,5 +6518,6 @@ struct proto sctpv6_prot = { | |||
6513 | .memory_pressure = &sctp_memory_pressure, | 6518 | .memory_pressure = &sctp_memory_pressure, |
6514 | .enter_memory_pressure = sctp_enter_memory_pressure, | 6519 | .enter_memory_pressure = sctp_enter_memory_pressure, |
6515 | .memory_allocated = &sctp_memory_allocated, | 6520 | .memory_allocated = &sctp_memory_allocated, |
6521 | REF_PROTO_INUSE(sctpv6) | ||
6516 | }; | 6522 | }; |
6517 | #endif /* defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) */ | 6523 | #endif /* defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) */ |