From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tonghao Zhang Subject: [PATCH] sock: Remove the global prot_inuse counter. Date: Thu, 9 Nov 2017 00:03:15 -0800 Message-ID: <1510214595-3866-1-git-send-email-zhangtonghao@didichuxing.com> Cc: Tonghao Zhang , Pavel Emelyanov To: netdev@vger.kernel.org Return-path: Received: from mail-it0-f66.google.com ([209.85.214.66]:51504 "EHLO mail-it0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753062AbdKIIDX (ORCPT ); Thu, 9 Nov 2017 03:03:23 -0500 Received: by mail-it0-f66.google.com with SMTP id o135so9726350itb.0 for ; Thu, 09 Nov 2017 00:03:23 -0800 (PST) Sender: netdev-owner@vger.kernel.org List-ID: The per-cpu counter for init_net is prepared in core_initcall. The patch 7d720c3e ("percpu: add __percpu sparse annotations to net") and d6d9ca0fe ("net: this_cpu_xxx conversions") optimize the routines. Then remove the old counter. Cc: Pavel Emelyanov Signed-off-by: Tonghao Zhang --- net/core/sock.c | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/net/core/sock.c b/net/core/sock.c index 7594000..03e1b1e 100644 --- a/net/core/sock.c +++ b/net/core/sock.c @@ -3042,7 +3042,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); @@ -3086,27 +3085,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) { -- 1.8.3.1