Eric Dumazet 512615b6b8 udp: secondary hash on (local port, local address)
Extends udp_table to contain a secondary hash table.

socket anchor for this second hash is free, because UDP
doesnt use skc_bind_node : We define an union to hold
both skc_bind_node & a new hlist_nulls_node udp_portaddr_node

udp_lib_get_port() inserts sockets into second hash chain
(additional cost of one atomic op)

udp_lib_unhash() deletes socket from second hash chain
(additional cost of one atomic op)

Note : No spinlock lockdep annotation is needed, because
lock for the secondary hash chain is always get after
lock for primary hash chain.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-11-08 20:53:06 -08:00
..
2009-09-23 22:26:32 +09:30
2009-05-25 01:53:53 -07:00
2009-09-26 20:16:15 -07:00
2009-05-25 01:53:53 -07:00
2009-11-07 00:46:39 -08:00
2009-11-05 22:34:18 -08:00
2009-11-05 22:34:21 -08:00
2009-07-12 12:22:34 -07:00
2009-10-18 21:32:01 -07:00