ipv4: take rt_uncached_lock only if needed
authorEric Dumazet <edumazet@google.com>
Fri, 24 Aug 2012 05:40:47 +0000 (05:40 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 24 Aug 2012 15:47:48 +0000 (11:47 -0400)
Multicast traffic allocates dst with DST_NOCACHE, but dst is
not inserted into rt_uncached_list.

This slowdown multicast workloads on SMP because rt_uncached_lock is
contended.

Change the test before taking the lock to actually check the dst
was inserted into rt_uncached_list.

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

No differences found