Skip to contentSkip to conversation

NET : makes sctp use the {DEFINE|REF}_PROTO_INUSE infrastructure

PATCH Applied Eric Dumazet 1 participant 1 message Nov 5, 2007

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 4/4 NET : makes 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

net/sctp/socket.c +6 -0
index bd6f42a..a7ecf31 100644
@@ -6455,6 +6455,8 @@ static void sctp_sock_migrate(struct sock *oldsk, struct sock *newsk,
 }
 
 
+DEFINE_PROTO_INUSE(sctp)
+
 /* This proto struct describes the ULP interface for SCTP.  */
 struct proto sctp_prot = {
 	.name        =	"SCTP",
@@ -6483,9 +6485,12 @@ struct proto sctp_prot = {
 	.memory_pressure = &sctp_memory_pressure,
 	.enter_memory_pressure = sctp_enter_memory_pressure,
 	.memory_allocated = &sctp_memory_allocated,
+	REF_PROTO_INUSE(sctp)
 };
 
 #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+DEFINE_PROTO_INUSE(sctpv6)
+
 struct proto sctpv6_prot = {
 	.name		= "SCTPv6",
 	.owner		= THIS_MODULE,
@@ -6513,5 +6518,6 @@ struct proto sctpv6_prot = {
 	.memory_pressure = &sctp_memory_pressure,
 	.enter_memory_pressure = sctp_enter_memory_pressure,
 	.memory_allocated = &sctp_memory_allocated,
+	REF_PROTO_INUSE(sctpv6)
 };
 #endif /* defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) */