Merge branch 'udp_hash'
authorDavid S. Miller <davem@davemloft.net>
Thu, 17 Jul 2014 06:30:25 +0000 (23:30 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 17 Jul 2014 06:30:25 +0000 (23:30 -0700)
commite18a44590a363b6785f12f87167d46be4421ed5b
treecab09b28d188606139b1b50b661f42da157c52ba
parent3e1c0f0b06e38b50bfca197a6443d639353bb035
parent2dc41cff7545d55c6294525c811594576f8e119c
Merge branch 'udp_hash'

David Held says:

====================
udp: Fix multicast performance issues.

Fix performance issues with listening to many different multicast
sockets on different addresses with the same port. Instead of always
using hash1, fall back to hash2 lookup when hash1 lookup is long.
Patch 1 is a general cleanup and simplification which also makes the
main implementation in Patch 2 simpler.

Eric's recent change 63c6f81cdde5 avoided this being an issue in early
demux. This makes it work for regular delivery as well.

v1->v2
 - updated hash collision detection

v2->v3
 - avoid flushing under lock unnecessarily at ARRAY_SIZE boundary
====================

Signed-off-by: David S. Miller <davem@davemloft.net>