ipv4: Get peer more cheaply in rt_init_metrics().
We know this is a new route object, so doing atomics and
stuff makes no sense at all.
Signed-off-by: David S. Miller <davem@davemloft.net>
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index 6c87403..9794a2c 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -1759,9 +1759,9 @@
if (rt->fl.flags & FLOWI_FLAG_PRECOW_METRICS)
create = 1;
- rt_bind_peer(rt, create);
- peer = rt->peer;
+ rt->peer = peer = inet_getpeer_v4(rt->rt_dst, create);
if (peer) {
+ rt->rt_peer_genid = rt_peer_genid();
if (inet_metrics_new(peer))
memcpy(peer->metrics, fi->fib_metrics,
sizeof(u32) * RTAX_MAX);