#ifdef CONFIG_NET_NS
 void sock_prot_inuse_add(struct net *net, struct proto *prot, int val)
 {
-       int cpu = smp_processor_id();
-       per_cpu_ptr(net->core.inuse, cpu)->val[prot->inuse_idx] += val;
+       __this_cpu_add(net->core.inuse->val[prot->inuse_idx], val);
 }
 EXPORT_SYMBOL_GPL(sock_prot_inuse_add);
 
 
 void sock_prot_inuse_add(struct net *net, struct proto *prot, int val)
 {
-       __get_cpu_var(prot_inuse).val[prot->inuse_idx] += val;
+       __this_cpu_add(prot_inuse.val[prot->inuse_idx], val);
 }
 EXPORT_SYMBOL_GPL(sock_prot_inuse_add);
 
 
                 * Another cpu is holding lock, requeue & delay xmits for
                 * some time.
                 */
-               __get_cpu_var(softnet_data).cpu_collision++;
+               __this_cpu_inc(softnet_data.cpu_collision);
                ret = dev_requeue_skb(skb, q);
        }