[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>
This commit is contained in:
committed by
David S. Miller
parent
c5a432f1a1
commit
8295b6d9e6
@@ -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. */
|
/* This proto struct describes the ULP interface for SCTP. */
|
||||||
struct proto sctp_prot = {
|
struct proto sctp_prot = {
|
||||||
.name = "SCTP",
|
.name = "SCTP",
|
||||||
@@ -6483,9 +6485,12 @@ struct proto sctp_prot = {
|
|||||||
.memory_pressure = &sctp_memory_pressure,
|
.memory_pressure = &sctp_memory_pressure,
|
||||||
.enter_memory_pressure = sctp_enter_memory_pressure,
|
.enter_memory_pressure = sctp_enter_memory_pressure,
|
||||||
.memory_allocated = &sctp_memory_allocated,
|
.memory_allocated = &sctp_memory_allocated,
|
||||||
|
REF_PROTO_INUSE(sctp)
|
||||||
};
|
};
|
||||||
|
|
||||||
#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
|
#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
|
||||||
|
DEFINE_PROTO_INUSE(sctpv6)
|
||||||
|
|
||||||
struct proto sctpv6_prot = {
|
struct proto sctpv6_prot = {
|
||||||
.name = "SCTPv6",
|
.name = "SCTPv6",
|
||||||
.owner = THIS_MODULE,
|
.owner = THIS_MODULE,
|
||||||
@@ -6513,5 +6518,6 @@ struct proto sctpv6_prot = {
|
|||||||
.memory_pressure = &sctp_memory_pressure,
|
.memory_pressure = &sctp_memory_pressure,
|
||||||
.enter_memory_pressure = sctp_enter_memory_pressure,
|
.enter_memory_pressure = sctp_enter_memory_pressure,
|
||||||
.memory_allocated = &sctp_memory_allocated,
|
.memory_allocated = &sctp_memory_allocated,
|
||||||
|
REF_PROTO_INUSE(sctpv6)
|
||||||
};
|
};
|
||||||
#endif /* defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) */
|
#endif /* defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) */
|
||||||
|
Reference in New Issue
Block a user