linux/net/ipv6
Eric Dumazet be281e554e ipv6: reduce per device ICMP mib sizes
ipv6 has per device ICMP SNMP counters, taking too much space because
they use percpu storage.

needed size per device is :
(512+4)*sizeof(long)*number_of_possible_cpus*2

On a 32bit kernel, 16 possible cpus, this wastes more than 64kbytes of
memory per ipv6 enabled network device, taken in vmalloc pool.

Since ICMP messages are rare, just use shared counters (atomic_long_t)

Per network space ICMP counters are still using percpu memory, we might
also convert them to shared counters in a future patch.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
CC: Denys Fedoryshchenko <denys@visp.net.lb>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-05-19 16:21:22 -04:00
..
netfilter Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-3.6 2011-05-11 14:26:58 -04:00
addrconf_core.c
addrconf.c ipv6: reduce per device ICMP mib sizes 2011-05-19 16:21:22 -04:00
addrlabel.c
af_inet6.c inet: constify ip headers and in6_addr 2011-04-22 11:04:14 -07:00
ah6.c
anycast.c inet: constify ip headers and in6_addr 2011-04-22 11:04:14 -07:00
datagram.c
esp6.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2011-05-05 14:59:02 -07:00
exthdrs_core.c
exthdrs.c
fib6_rules.c
icmp.c inet: constify ip headers and in6_addr 2011-04-22 11:04:14 -07:00
inet6_connection_sock.c inet: Pass flowi to ->queue_xmit(). 2011-05-08 15:28:28 -07:00
inet6_hashtables.c
ip6_fib.c net: dont hold rtnl mutex during netlink dump callbacks 2011-05-02 15:26:28 -07:00
ip6_flowlabel.c
ip6_input.c inet: constify ip headers and in6_addr 2011-04-22 11:04:14 -07:00
ip6_output.c inet: Decrease overhead of on-stack inet_cork. 2011-05-06 15:37:57 -07:00
ip6_tunnel.c net: call dev_alloc_name from register_netdevice 2011-05-05 10:57:45 -07:00
ip6mr.c inet: constify ip headers and in6_addr 2011-04-22 11:04:14 -07:00
ipcomp6.c inet: constify ip headers and in6_addr 2011-04-22 11:04:14 -07:00
ipv6_sockglue.c
Kconfig
Makefile
mcast.c inet: constify ip headers and in6_addr 2011-04-22 11:04:14 -07:00
mip6.c inet: constify ip headers and in6_addr 2011-04-22 11:04:14 -07:00
ndisc.c ipv4, ipv6, bonding: Restore control over number of peer notifications 2011-04-29 12:44:11 -07:00
netfilter.c inet: constify ip headers and in6_addr 2011-04-22 11:04:14 -07:00
proc.c ipv6: reduce per device ICMP mib sizes 2011-05-19 16:21:22 -04:00
protocol.c
raw.c inet: Decrease overhead of on-stack inet_cork. 2011-05-06 15:37:57 -07:00
reassembly.c inet: constify ip headers and in6_addr 2011-04-22 11:04:14 -07:00
route.c net: Use non-zero allocations in dst_alloc(). 2011-04-28 22:26:00 -07:00
sit.c net: call dev_alloc_name from register_netdevice 2011-05-05 10:57:45 -07:00
syncookies.c inet: constify ip headers and in6_addr 2011-04-22 11:04:14 -07:00
sysctl_net_ipv6.c
tcp_ipv6.c inet: add RCU protection to inet->opt 2011-04-28 13:16:35 -07:00
tunnel6.c
udp_impl.h
udp.c net:use help function of skb_checksum_start_offset to calculate offset 2011-04-28 13:28:57 -07:00
udplite.c
xfrm6_input.c
xfrm6_mode_beet.c inet: constify ip headers and in6_addr 2011-04-22 11:04:14 -07:00
xfrm6_mode_ro.c
xfrm6_mode_transport.c
xfrm6_mode_tunnel.c inet: constify ip headers and in6_addr 2011-04-22 11:04:14 -07:00
xfrm6_output.c xfrm: Assign the inner mode output function to the dst entry 2011-05-10 15:03:34 -07:00
xfrm6_policy.c inet: constify ip headers and in6_addr 2011-04-22 11:04:14 -07:00
xfrm6_state.c xfrm: Assign the inner mode output function to the dst entry 2011-05-10 15:03:34 -07:00
xfrm6_tunnel.c inet: constify ip headers and in6_addr 2011-04-22 11:04:14 -07:00