linux/net
Eric Dumazet ea781f197d netfilter: nf_conntrack: use SLAB_DESTROY_BY_RCU and get rid of call_rcu()
Use "hlist_nulls" infrastructure we added in 2.6.29 for RCUification of UDP & TCP.

This permits an easy conversion from call_rcu() based hash lists to a
SLAB_DESTROY_BY_RCU one.

Avoiding call_rcu() delay at nf_conn freeing time has numerous gains.

First, it doesnt fill RCU queues (up to 10000 elements per cpu).
This reduces OOM possibility, if queued elements are not taken into account
This reduces latency problems when RCU queue size hits hilimit and triggers
emergency mode.

- It allows fast reuse of just freed elements, permitting better use of
CPU cache.

- We delete rcu_head from "struct nf_conn", shrinking size of this structure
by 8 or 16 bytes.

This patch only takes care of "struct nf_conn".
call_rcu() is still used for less critical conntrack parts, that may
be converted later if necessary.

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
2009-03-25 21:05:46 +01:00
..
9p 9p: fix endian issues [attempt 3] 2009-02-06 22:07:41 -08:00
802
8021q gro: Optimise Ethernet header comparison 2009-02-08 20:22:18 -08:00
appletalk
atm
ax25 ax25: more common return path joining 2009-02-06 23:47:14 -08:00
bluetooth
bridge netfilter: ebtables: remove unneeded initializations 2009-02-18 16:30:38 +01:00
can ip: support for TX timestamps on UDP and RAW sockets 2009-02-15 22:43:38 -08:00
core net: pass new SIOCSHWTSTAMP through to device drivers 2009-02-15 22:43:38 -08:00
dcb
dccp
decnet
dsa
econet
ethernet
ipv4 netfilter: nf_conntrack: use SLAB_DESTROY_BY_RCU and get rid of call_rcu() 2009-03-25 21:05:46 +01:00
ipv6 netfilter: {ip,ip6,arp}_tables: fix incorrect loop detection 2009-03-25 19:26:35 +01:00
ipx
irda
iucv
key
lapb
llc
mac80211 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2009-02-14 23:12:00 -08:00
netfilter netfilter: nf_conntrack: use SLAB_DESTROY_BY_RCU and get rid of call_rcu() 2009-03-25 21:05:46 +01:00
netlabel
netlink netlink: add nla_policy_len() 2009-03-25 18:26:30 +01:00
netrom
packet
phonet Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2009-02-14 23:12:00 -08:00
rfkill
rose
rxrpc RxRPC: Fix a potential NULL dereference 2009-02-06 21:50:52 -08:00
sched pkt_sched: sch_multiq: Change errno on non-multiqueue devices use. 2009-02-10 00:11:21 -08:00
sctp sctp: Inherit all socket options from parent correctly. 2009-02-16 00:03:11 -08:00
sunrpc net/sunrpc/xprtsock.c: some common code found 2009-02-06 23:48:33 -08:00
tipc
unix
wanrouter
wimax Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2009-02-14 23:12:00 -08:00
wireless cfg80211: add more flexible BSS lookup 2009-02-13 13:45:56 -05:00
x25
xfrm
compat.c net: socket infrastructure for SO_TIMESTAMPING 2009-02-15 22:43:35 -08:00
Kconfig
Makefile
nonet.c
socket.c net: socket infrastructure for SO_TIMESTAMPING 2009-02-15 22:43:35 -08:00
sysctl_net.c net: sysctl_net - use net_eq to compare nets 2009-03-16 16:23:30 +01:00
TUNABLE