ipv6: use this_cpu_read() in rt6_get_pcpu_route()
authorEric Dumazet <edumazet@google.com>
Sat, 1 Jun 2019 01:11:25 +0000 (18:11 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 3 Jun 2019 22:06:36 +0000 (15:06 -0700)
this_cpu_read(*X) is faster than *this_cpu_ptr(X)

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/route.c

index fada5a13bcb2a286bb20a350c1873b1b16dc866a..a72d01010cb6a734b2c4ee2dd865390d88e6a3b2 100644 (file)
@@ -1268,10 +1268,9 @@ static struct rt6_info *ip6_rt_pcpu_alloc(const struct fib6_result *res)
 /* It should be called with rcu_read_lock() acquired */
 static struct rt6_info *rt6_get_pcpu_route(const struct fib6_result *res)
 {
-       struct rt6_info *pcpu_rt, **p;
+       struct rt6_info *pcpu_rt;
 
-       p = this_cpu_ptr(res->nh->rt6i_pcpu);
-       pcpu_rt = *p;
+       pcpu_rt = this_cpu_read(*res->nh->rt6i_pcpu);
 
        if (pcpu_rt)
                ip6_hold_safe(NULL, &pcpu_rt);