igmp: hash a hash table to speedup ip_check_mc_rcu()
authorEric Dumazet <edumazet@google.com>
Fri, 7 Jun 2013 15:48:57 +0000 (08:48 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 12 Jun 2013 07:25:23 +0000 (00:25 -0700)
After IP route cache removal, multicast applications using
a lot of multicast addresses hit a O(N) behavior in ip_check_mc_rcu()

Add a per in_device hash table to get faster lookup.

This hash table is created only if the number of items in mc_list is
above 4.

Reported-by: Shawn Bohrer <sbohrer@rgmadvisors.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Tested-by: Shawn Bohrer <sbohrer@rgmadvisors.com>
Reviewed-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

No differences found