NET : makes sctp use the {DEFINE|REF}_PROTO_INUSE infrastructure
Subsystems (3)
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
Signed-off-by Eric Dumazet <[email protected]>
net/sctp/socket.c +6 -0
@@ -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) */