linux/net/ipv6
Eric Dumazet 90ddc4f047 [NET]: move struct proto_ops to const
I noticed that some of 'struct proto_ops' used in the kernel may share
a cache line used by locks or other heavily modified data. (default
linker alignement is 32 bytes, and L1_CACHE_LINE is 64 or 128 at
least)

This patch makes sure a 'struct proto_ops' can be declared as const,
so that all cpus can share all parts of it without false sharing.

This is not mandatory : a driver can still use a read/write structure
if it needs to (and eventually a __read_mostly)

I made a global stubstitute to change all existing occurences to make
them const.

This should reduce the possibility of false sharing on SMP, and
speedup some socket system calls.

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-01-03 13:11:15 -08:00
..
netfilter [NETFILTER] ip_tables: NUMA-aware allocation 2006-01-03 13:10:29 -08:00
addrconf.c [IPV6]: Introduce inet6_timewait_sock 2006-01-03 13:10:47 -08:00
af_inet6.c [NET]: move struct proto_ops to const 2006-01-03 13:11:15 -08:00
ah6.c
anycast.c
datagram.c
esp6.c
exthdrs_core.c
exthdrs.c [IPV6]: Export some symbols for DCCPv6 2006-01-03 13:10:48 -08:00
icmp.c
inet6_connection_sock.c [IPV6]: Generalise some functions 2006-01-03 13:10:46 -08:00
inet6_hashtables.c [INET6]: Generalise tcp_v6_hash_connect 2006-01-03 13:10:56 -08:00
ip6_fib.c
ip6_flowlabel.c [IPV6]: Export some symbols for DCCPv6 2006-01-03 13:10:48 -08:00
ip6_input.c
ip6_output.c [IPV6]: Export some symbols for DCCPv6 2006-01-03 13:10:48 -08:00
ip6_tunnel.c
ipcomp6.c
ipv6_sockglue.c [IP_SOCKGLUE]: Remove most of the tcp specific calls 2006-01-03 13:10:58 -08:00
ipv6_syms.c
Kconfig
Makefile [IPV6]: Generalise tcp_v6_search_req & tcp_v6_synq_add 2006-01-03 13:10:36 -08:00
mcast.c [IPV6] mcast: Fix multiple issues in MLDv2 reports. 2005-12-27 14:03:00 -08:00
ndisc.c
netfilter.c
proc.c
protocol.c
raw.c [IP]: Simplify and consolidate MSG_PEEK error handling 2006-01-03 13:10:41 -08:00
reassembly.c
route.c
sit.c
sysctl_net_ipv6.c
tcp_ipv6.c [IP_SOCKGLUE]: Remove most of the tcp specific calls 2006-01-03 13:10:58 -08:00
udp.c [IP]: Simplify and consolidate MSG_PEEK error handling 2006-01-03 13:10:41 -08:00
xfrm6_input.c
xfrm6_output.c
xfrm6_policy.c
xfrm6_state.c
xfrm6_tunnel.c