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>
This commit is contained in:
David S. Miller 2011-03-04 21:26:07 -08:00
parent 44713b67db
commit 3c0afdca44
1 changed files with 2 additions and 2 deletions

View File

@ -1759,9 +1759,9 @@ static void rt_init_metrics(struct rtable *rt, struct fib_info *fi)
if (rt->fl.flags & FLOWI_FLAG_PRECOW_METRICS) if (rt->fl.flags & FLOWI_FLAG_PRECOW_METRICS)
create = 1; create = 1;
rt_bind_peer(rt, create); rt->peer = peer = inet_getpeer_v4(rt->rt_dst, create);
peer = rt->peer;
if (peer) { if (peer) {
rt->rt_peer_genid = rt_peer_genid();
if (inet_metrics_new(peer)) if (inet_metrics_new(peer))
memcpy(peer->metrics, fi->fib_metrics, memcpy(peer->metrics, fi->fib_metrics,
sizeof(u32) * RTAX_MAX); sizeof(u32) * RTAX_MAX);