net: make sock_inuse_add() available

MPTCP hard codes it, let us instead provide this helper.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Eric Dumazet 2021-11-15 09:11:48 -08:00 committed by David S. Miller
parent 2a12ae5d43
commit d477eb9004
3 changed files with 11 additions and 13 deletions

View File

@ -1439,6 +1439,12 @@ static inline void sock_prot_inuse_add(const struct net *net,
{ {
__this_cpu_add(net->core.prot_inuse->val[prot->inuse_idx], val); __this_cpu_add(net->core.prot_inuse->val[prot->inuse_idx], val);
} }
static inline void sock_inuse_add(const struct net *net, int val)
{
this_cpu_add(*net->core.sock_inuse, val);
}
int sock_prot_inuse_get(struct net *net, struct proto *proto); int sock_prot_inuse_get(struct net *net, struct proto *proto);
int sock_inuse_get(struct net *net); int sock_inuse_get(struct net *net);
#else #else
@ -1446,6 +1452,10 @@ static inline void sock_prot_inuse_add(const struct net *net,
const struct proto *prot, int val) const struct proto *prot, int val)
{ {
} }
static inline void sock_inuse_add(const struct net *net, int val)
{
}
#endif #endif

View File

@ -144,8 +144,6 @@
static DEFINE_MUTEX(proto_list_mutex); static DEFINE_MUTEX(proto_list_mutex);
static LIST_HEAD(proto_list); static LIST_HEAD(proto_list);
static void sock_inuse_add(struct net *net, int val);
/** /**
* sk_ns_capable - General socket capability test * sk_ns_capable - General socket capability test
* @sk: Socket to use a capability on or through * @sk: Socket to use a capability on or through
@ -3550,11 +3548,6 @@ int sock_prot_inuse_get(struct net *net, struct proto *prot)
} }
EXPORT_SYMBOL_GPL(sock_prot_inuse_get); EXPORT_SYMBOL_GPL(sock_prot_inuse_get);
static void sock_inuse_add(struct net *net, int val)
{
this_cpu_add(*net->core.sock_inuse, val);
}
int sock_inuse_get(struct net *net) int sock_inuse_get(struct net *net)
{ {
int cpu, res = 0; int cpu, res = 0;
@ -3633,9 +3626,6 @@ static inline void release_proto_idx(struct proto *prot)
{ {
} }
static void sock_inuse_add(struct net *net, int val)
{
}
#endif #endif
static void tw_prot_cleanup(struct timewait_sock_ops *twsk_prot) static void tw_prot_cleanup(struct timewait_sock_ops *twsk_prot)

View File

@ -1534,9 +1534,7 @@ int mptcp_subflow_create_socket(struct sock *sk, struct socket **new_sock)
*/ */
sf->sk->sk_net_refcnt = 1; sf->sk->sk_net_refcnt = 1;
get_net(net); get_net(net);
#ifdef CONFIG_PROC_FS sock_inuse_add(net, 1);
this_cpu_add(*net->core.sock_inuse, 1);
#endif
err = tcp_set_ulp(sf->sk, "mptcp"); err = tcp_set_ulp(sf->sk, "mptcp");
release_sock(sf->sk); release_sock(sf->sk);