mirror of https://gitee.com/openkylin/linux.git
sock: Remove the global prot_inuse counter.
The per-cpu counter for init_net is prepared in core_initcall. The patch7d720c3e
("percpu: add __percpu sparse annotations to net") andd6d9ca0fe
("net: this_cpu_xxx conversions") optimize the routines. Then remove the old counter. Cc: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: Tonghao Zhang <zhangtonghao@didichuxing.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
492d070f24
commit
5290ada4a2
|
@ -3044,7 +3044,6 @@ struct prot_inuse {
|
|||
|
||||
static DECLARE_BITMAP(proto_inuse_idx, PROTO_INUSE_NR);
|
||||
|
||||
#ifdef CONFIG_NET_NS
|
||||
void sock_prot_inuse_add(struct net *net, struct proto *prot, int val)
|
||||
{
|
||||
__this_cpu_add(net->core.inuse->val[prot->inuse_idx], val);
|
||||
|
@ -3088,27 +3087,6 @@ static __init int net_inuse_init(void)
|
|||
}
|
||||
|
||||
core_initcall(net_inuse_init);
|
||||
#else
|
||||
static DEFINE_PER_CPU(struct prot_inuse, prot_inuse);
|
||||
|
||||
void sock_prot_inuse_add(struct net *net, struct proto *prot, int val)
|
||||
{
|
||||
__this_cpu_add(prot_inuse.val[prot->inuse_idx], val);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(sock_prot_inuse_add);
|
||||
|
||||
int sock_prot_inuse_get(struct net *net, struct proto *prot)
|
||||
{
|
||||
int cpu, idx = prot->inuse_idx;
|
||||
int res = 0;
|
||||
|
||||
for_each_possible_cpu(cpu)
|
||||
res += per_cpu(prot_inuse, cpu).val[idx];
|
||||
|
||||
return res >= 0 ? res : 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(sock_prot_inuse_get);
|
||||
#endif
|
||||
|
||||
static void assign_proto_idx(struct proto *prot)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue