net: Replace get_cpu_var through this_cpu_ptr
authorChristoph Lameter <cl@linux.com>
Sun, 17 Aug 2014 17:30:35 +0000 (12:30 -0500)
committerTejun Heo <tj@kernel.org>
Tue, 26 Aug 2014 17:45:47 +0000 (13:45 -0400)
Replace uses of get_cpu_var for address calculation through this_cpu_ptr.

Cc: netdev@vger.kernel.org
Cc: Eric Dumazet <edumazet@google.com>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Christoph Lameter <cl@linux.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
include/net/netfilter/nf_conntrack.h
include/net/snmp.h
net/core/dev.c
net/core/drop_monitor.c
net/core/skbuff.c
net/ipv4/route.c
net/ipv4/syncookies.c
net/ipv4/tcp.c
net/ipv4/tcp_output.c
net/ipv6/syncookies.c
net/rds/ib_rdma.c

index 37252f71a38037d0e969699dc7376e6dcae1c5ec..c8a7db605e038007a90cd52cf503a171f36f2f6d 100644 (file)
@@ -242,7 +242,7 @@ extern s32 (*nf_ct_nat_offset)(const struct nf_conn *ct,
 DECLARE_PER_CPU(struct nf_conn, nf_conntrack_untracked);
 static inline struct nf_conn *nf_ct_untracked_get(void)
 {
-       return &__raw_get_cpu_var(nf_conntrack_untracked);
+       return raw_cpu_ptr(&nf_conntrack_untracked);
 }
 void nf_ct_untracked_status_or(unsigned long bits);
 
index f1f27fdbb0d5738d6f3f3fbb93a79d240a1129b5..e154133877a29c743079e084c1558e7e0545cf9b 100644 (file)
@@ -168,7 +168,7 @@ struct linux_xfrm_mib {
 
 #define SNMP_ADD_STATS64_BH(mib, field, addend)                        \
        do {                                                            \
-               __typeof__(*mib) *ptr = __this_cpu_ptr(mib);            \
+               __typeof__(*mib) *ptr = raw_cpu_ptr(mib);               \
                u64_stats_update_begin(&ptr->syncp);                    \
                ptr->mibs[field] += addend;                             \
                u64_stats_update_end(&ptr->syncp);                      \
@@ -189,8 +189,8 @@ struct linux_xfrm_mib {
 #define SNMP_INC_STATS64(mib, field) SNMP_ADD_STATS64(mib, field, 1)
 #define SNMP_UPD_PO_STATS64_BH(mib, basefield, addend)                 \
        do {                                                            \
-               __typeof__(*mib) *ptr;                                  \
-               ptr = __this_cpu_ptr(mib);                              \
+               __typeof__(*mib) *ptr;                          \
+               ptr = raw_cpu_ptr((mib));                               \
                u64_stats_update_begin(&ptr->syncp);                    \
                ptr->mibs[basefield##PKTS]++;                           \
                ptr->mibs[basefield##OCTETS] += addend;                 \
index b65a5051361f2dea31a0fac078b3dd656e126cc8..9ef13ff354fe52f24e60bde99e421bf98e35ae3d 100644 (file)
@@ -2153,7 +2153,7 @@ static inline void __netif_reschedule(struct Qdisc *q)
        unsigned long flags;
 
        local_irq_save(flags);
-       sd = &__get_cpu_var(softnet_data);
+       sd = this_cpu_ptr(&softnet_data);
        q->next_sched = NULL;
        *sd->output_queue_tailp = q;
        sd->output_queue_tailp = &q->next_sched;
@@ -3195,7 +3195,7 @@ static void rps_trigger_softirq(void *data)
 static int rps_ipi_queued(struct softnet_data *sd)
 {
 #ifdef CONFIG_RPS
-       struct softnet_data *mysd = &__get_cpu_var(softnet_data);
+       struct softnet_data *mysd = this_cpu_ptr(&softnet_data);
 
        if (sd != mysd) {
                sd->rps_ipi_next = mysd->rps_ipi_list;
@@ -3222,7 +3222,7 @@ static bool skb_flow_limit(struct sk_buff *skb, unsigned int qlen)
        if (qlen < (netdev_max_backlog >> 1))
                return false;
 
-       sd = &__get_cpu_var(softnet_data);
+       sd = this_cpu_ptr(&softnet_data);
 
        rcu_read_lock();
        fl = rcu_dereference(sd->flow_limit);
@@ -3369,7 +3369,7 @@ EXPORT_SYMBOL(netif_rx_ni);
 
 static void net_tx_action(struct softirq_action *h)
 {
-       struct softnet_data *sd = &__get_cpu_var(softnet_data);
+       struct softnet_data *sd = this_cpu_ptr(&softnet_data);
 
        if (sd->completion_queue) {
                struct sk_buff *clist;
@@ -3794,7 +3794,7 @@ EXPORT_SYMBOL(netif_receive_skb);
 static void flush_backlog(void *arg)
 {
        struct net_device *dev = arg;
-       struct softnet_data *sd = &__get_cpu_var(softnet_data);
+       struct softnet_data *sd = this_cpu_ptr(&softnet_data);
        struct sk_buff *skb, *tmp;
 
        rps_lock(sd);
@@ -4301,7 +4301,7 @@ void __napi_schedule(struct napi_struct *n)
        unsigned long flags;
 
        local_irq_save(flags);
-       ____napi_schedule(&__get_cpu_var(softnet_data), n);
+       ____napi_schedule(this_cpu_ptr(&softnet_data), n);
        local_irq_restore(flags);
 }
 EXPORT_SYMBOL(__napi_schedule);
@@ -4422,7 +4422,7 @@ EXPORT_SYMBOL(netif_napi_del);
 
 static void net_rx_action(struct softirq_action *h)
 {
-       struct softnet_data *sd = &__get_cpu_var(softnet_data);
+       struct softnet_data *sd = this_cpu_ptr(&softnet_data);
        unsigned long time_limit = jiffies + 2;
        int budget = netdev_budget;
        void *have;
index 50f9a9db57924decc06d50296b77dcfe1ac5fcc9..252e155c837b7532778ef558c9c3cb47a68a654b 100644 (file)
@@ -146,7 +146,7 @@ static void trace_drop_common(struct sk_buff *skb, void *location)
        unsigned long flags;
 
        local_irq_save(flags);
-       data = &__get_cpu_var(dm_cpu_data);
+       data = this_cpu_ptr(&dm_cpu_data);
        spin_lock(&data->lock);
        dskb = data->skb;
 
index 163b673f9e62d212230abd1c9b848c35ba923a0d..adfc7ee1acf23a1c108ae28f86a72b010b174ac8 100644 (file)
@@ -345,7 +345,7 @@ static void *__netdev_alloc_frag(unsigned int fragsz, gfp_t gfp_mask)
        unsigned long flags;
 
        local_irq_save(flags);
-       nc = &__get_cpu_var(netdev_alloc_cache);
+       nc = this_cpu_ptr(&netdev_alloc_cache);
        if (unlikely(!nc->frag.page)) {
 refill:
                for (order = NETDEV_FRAG_PAGE_MAX_ORDER; ;) {
index eaa4b000c7b443898be7c5ce36f4da4eb20158a6..7d6f4e021846e63862e782f45ba2b313d8552ae2 100644 (file)
@@ -1311,7 +1311,7 @@ static bool rt_cache_route(struct fib_nh *nh, struct rtable *rt)
        if (rt_is_input_route(rt)) {
                p = (struct rtable **)&nh->nh_rth_input;
        } else {
-               p = (struct rtable **)__this_cpu_ptr(nh->nh_pcpu_rth_output);
+               p = (struct rtable **)raw_cpu_ptr(nh->nh_pcpu_rth_output);
        }
        orig = *p;
 
@@ -1939,7 +1939,7 @@ static struct rtable *__mkroute_output(const struct fib_result *res,
                                do_cache = false;
                                goto add;
                        }
-                       prth = __this_cpu_ptr(nh->nh_pcpu_rth_output);
+                       prth = raw_cpu_ptr(nh->nh_pcpu_rth_output);
                }
                rth = rcu_dereference(*prth);
                if (rt_cache_valid(rth)) {
index c0c75688896e06bd1b64384c94e7db758f842d0b..f83391bfdd767fbf52c782a0b7de8b7ce0f4dbcd 100644 (file)
@@ -40,7 +40,7 @@ static u32 cookie_hash(__be32 saddr, __be32 daddr, __be16 sport, __be16 dport,
 
        net_get_random_once(syncookie_secret, sizeof(syncookie_secret));
 
-       tmp  = __get_cpu_var(ipv4_cookie_scratch);
+       tmp  = this_cpu_ptr(ipv4_cookie_scratch);
        memcpy(tmp + 4, syncookie_secret[c], sizeof(syncookie_secret[c]));
        tmp[0] = (__force u32)saddr;
        tmp[1] = (__force u32)daddr;
index 541f26a67ba28861c882f819369baf2ad2cd4724..b2cab7770a110fd0c1cd714820d76cbbca558431 100644 (file)
@@ -3058,7 +3058,7 @@ struct tcp_md5sig_pool *tcp_get_md5sig_pool(void)
        local_bh_disable();
        p = ACCESS_ONCE(tcp_md5sig_pool);
        if (p)
-               return __this_cpu_ptr(p);
+               return raw_cpu_ptr(p);
 
        local_bh_enable();
        return NULL;
index 5a7c41fbc6d3399686ff47ab5102ef7cc1a9ea42..d145f7ef78f376f47979756559c0ddd4e7955002 100644 (file)
@@ -842,7 +842,7 @@ void tcp_wfree(struct sk_buff *skb)
 
                /* queue this socket to tasklet queue */
                local_irq_save(flags);
-               tsq = &__get_cpu_var(tsq_tasklet);
+               tsq = this_cpu_ptr(&tsq_tasklet);
                list_add(&tp->tsq_node, &tsq->head);
                tasklet_schedule(&tsq->tasklet);
                local_irq_restore(flags);
index 83cea1d39466affce703d7c1b737a386bf3faecf..637de5b875895546e14b0f78faddda9e7c1d33ba 100644 (file)
@@ -67,7 +67,7 @@ static u32 cookie_hash(const struct in6_addr *saddr, const struct in6_addr *dadd
 
        net_get_random_once(syncookie6_secret, sizeof(syncookie6_secret));
 
-       tmp  = __get_cpu_var(ipv6_cookie_scratch);
+       tmp  = this_cpu_ptr(ipv6_cookie_scratch);
 
        /*
         * we have 320 bits of information to hash, copy in the remaining
index e8fdb172adbb23940b8d2d698cd72fa216cd6ba1..273b8bff6ba448aa013932f5ac7c9f929f49aa70 100644 (file)
@@ -267,7 +267,7 @@ static inline struct rds_ib_mr *rds_ib_reuse_fmr(struct rds_ib_mr_pool *pool)
        unsigned long *flag;
 
        preempt_disable();
-       flag = &__get_cpu_var(clean_list_grace);
+       flag = this_cpu_ptr(&clean_list_grace);
        set_bit(CLEAN_LIST_BUSY_BIT, flag);
        ret = llist_del_first(&pool->clean_list);
        if (ret)