linux/net/ipv4
Eric Dumazet 95f30b336b [UDP]: UDP can use sk_hash to speedup lookups
In a prior patch, I introduced a sk_hash field (__sk_common.skc_hash)  to let
tcp lookups use one cache line per unmatched entry instead of two.

We can also use sk_hash to speedup UDP part as well. We store in sk_hash the
hnum value, and use sk->sk_hash (same cache line than 'next' pointer),
instead of inet->num (different cache line)

Note : We still have a false sharing problem for SMP machines, because
sock_hold(sock) dirties the cache line containing the 'next' pointer. Not
counting the udp_hash_lock rwlock. (did someone mentioned RCU ? :) )

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2007-02-10 23:20:29 -08:00
..
ipvs [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
netfilter [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
af_inet.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
ah4.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
arp.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
cipso_ipv4.c NetLabel: add the ranged tag to the CIPSOv4 protocol 2006-12-02 21:31:38 -08:00
datagram.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
devinet.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
esp4.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
fib_frontend.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
fib_hash.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
fib_lookup.h [IPV4]: net/ipv4/fib annotations 2006-09-28 18:02:23 -07:00
fib_rules.c [NETLINK]: Do precise netlink message allocations where possible 2006-12-02 21:22:11 -08:00
fib_semantics.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
fib_trie.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
icmp.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
igmp.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
inet_connection_sock.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
inet_diag.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
inet_hashtables.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
inet_timewait_sock.c [NET]: change layout of ehash table 2007-02-08 14:16:46 -08:00
inetpeer.c [PATCH] slab: remove kmem_cache_t 2006-12-07 08:39:25 -08:00
ip_forward.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
ip_fragment.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
ip_gre.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
ip_input.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
ip_options.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
ip_output.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
ip_sockglue.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
ipcomp.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
ipconfig.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
ipip.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
ipmr.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
Kconfig [TCP] MD5SIG: Kill CONFIG_TCP_MD5SIG_DEBUG. 2006-12-02 21:31:47 -08:00
Makefile [NET]: Supporting UDP-Lite (RFC 3828) in Linux 2006-12-02 21:22:46 -08:00
multipath_drr.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
multipath_random.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
multipath_rr.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
multipath_wrandom.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
multipath.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
netfilter.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
proc.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
protocol.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
raw.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
route.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
syncookies.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
sysctl_net_ipv4.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
tcp_bic.c [TCP] tcp_bic: use BUILD_BUG_ON 2006-09-22 15:18:04 -07:00
tcp_cong.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
tcp_cubic.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
tcp_diag.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
tcp_highspeed.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
tcp_htcp.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
tcp_hybla.c [TCP] Congestion control (modulo lp, bic): use BUILD_BUG_ON 2006-09-22 15:18:13 -07:00
tcp_input.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
tcp_ipv4.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
tcp_lp.c [TCP] tcp-lp: prevent chance for oops 2006-09-28 18:03:07 -07:00
tcp_minisocks.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
tcp_output.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
tcp_probe.c [PATCH] email change for shemminger@osdl.org 2007-01-23 14:18:49 -08:00
tcp_scalable.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
tcp_timer.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
tcp_vegas.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
tcp_veno.c [TCP] Congestion control (modulo lp, bic): use BUILD_BUG_ON 2006-09-22 15:18:13 -07:00
tcp_westwood.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
tcp.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
tunnel4.c [INET]: Move no-tunnel ICMP error to tunnel4/tunnel6 2006-04-09 22:25:25 -07:00
udp_impl.h [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
udp.c [UDP]: UDP can use sk_hash to speedup lookups 2007-02-10 23:20:29 -08:00
udplite.c [NET]: Possible cleanups. 2006-12-02 21:31:51 -08:00
xfrm4_input.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
xfrm4_mode_beet.c [XFRM]: BEET mode 2006-10-04 00:31:09 -07:00
xfrm4_mode_transport.c [IPSEC]: output mode to take an xfrm state as input param 2006-09-22 15:18:48 -07:00
xfrm4_mode_tunnel.c [IPSEC]: IPv6 over IPv4 IPsec tunnel 2007-02-08 12:39:01 -08:00
xfrm4_output.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
xfrm4_policy.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00
xfrm4_state.c [IPSEC]: exporting xfrm_state_afinfo 2007-02-08 12:39:00 -08:00
xfrm4_tunnel.c [NET] IPV4: Fix whitespace errors. 2007-02-10 23:19:39 -08:00