diff options
author | David S. Miller <davem@davemloft.net> | 2011-03-04 21:26:07 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-03-04 21:26:07 -0800 |
commit | 3c0afdca44af795dd315c20cc525927a459abe30 (patch) | |
tree | 264a6e889d080da61a754b54e2771282c9fe9248 /net | |
parent | 44713b67db10c774f14280c129b0d5fd13c70cf2 (diff) |
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>
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv4/route.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv4/route.c b/net/ipv4/route.c index 6c8740362ef9..9794a2c60238 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c @@ -1759,9 +1759,9 @@ static void rt_init_metrics(struct rtable *rt, struct fib_info *fi) 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); |