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
bluetooth
Bluetooth: Enable per-module dynamic debug messages
2008-11-30 12:17:28 +01:00
irda
irda: Add irda_skb_cb qdisc related padding
2008-12-17 15:44:58 -08:00
iucv
[S390] iucv: Locking free version of iucv_message_(receive|send)
2008-12-25 13:39:04 +01:00
netfilter
netfilter: nf_conntrack: use SLAB_DESTROY_BY_RCU and get rid of call_rcu()
2009-03-25 21:05:46 +01:00
netns
netfilter: nf_conntrack: use SLAB_DESTROY_BY_RCU and get rid of call_rcu()
2009-03-25 21:05:46 +01:00
phonet
Phonet: use per-namespace devices list
2009-01-26 21:03:35 -08:00
sctp
sctp: Inherit all socket options from parent correctly.
2009-02-16 00:03:11 -08:00
tc_act
tipc
act_api.h
addrconf.h
af_rxrpc.h
af_unix.h
net: Fix soft lockups/OOM issues w/ unix garbage collector
2008-11-26 15:32:27 -08:00
ah.h
arp.h
atmclip.h
clip: convert to internal network_device_stats
2009-01-21 14:01:59 -08:00
ax25.h
ax88796.h
cfg80211.h
cfg80211: add more flexible BSS lookup
2009-02-13 13:45:56 -05:00
checksum.h
include/net net/ - csum_partial - remove unnecessary casts
2008-11-19 15:44:53 -08:00
cipso_ipv4.h
netlabel: Update kernel configuration API
2008-12-31 12:54:11 -05:00
compat.h
datalink.h
dcbnl.h
net: fix DCB setstate to return success/failure
2008-12-21 20:09:50 -08:00
dn.h
decnet: compile fix for removal of byteorder wrapper
2008-11-27 23:04:13 -08:00
dn_dev.h
dn_fib.h
decnet: remove private wrappers of endian helpers
2008-11-27 00:12:47 -08:00
dn_neigh.h
dn_nsp.h
dn_route.h
dsa.h
dsfield.h
dst.h
netns xfrm: lookup in netns
2008-11-25 17:35:18 -08:00
esp.h
fib_rules.h
flow.h
netns xfrm: lookup in netns
2008-11-25 17:35:18 -08:00
garp.h
gen_stats.h
pkt_sched: gen_estimator: Optimize gen_estimator_active()
2008-11-26 15:24:32 -08:00
genetlink.h
icmp.h
ieee80211.h
ieee80211_security: correct warning about width of auth_mode
2008-12-12 13:48:30 -05:00
ieee80211_radiotap.h
wireless: clean up radiotap a bit
2008-12-05 09:32:59 -05:00
if_inet6.h
inet6_connection_sock.h
inet6_hashtables.h
inet_common.h
inet_connection_sock.h
inet_ecn.h
net: replace __constant_{endian} uses in net headers
2009-02-14 22:58:35 -08:00
inet_frag.h
inet_hashtables.h
net: move bsockets outside of read only beginning of struct inet_hashinfo
2009-02-01 12:31:33 -08:00
inet_sock.h
inet_timewait_sock.h
net: Convert TCP & DCCP hash tables to use RCU / hlist_nulls
2008-11-16 19:40:17 -08:00
inetpeer.h
ip.h
ip: support for TX timestamps on UDP and RAW sockets
2009-02-15 22:43:38 -08:00
ip6_checksum.h
ip6_fib.h
ip6_route.h
ip6_tunnel.h
ip_fib.h
ip_vs.h
net: replace __constant_{endian} uses in net headers
2009-02-14 22:58:35 -08:00
ipcomp.h
ipconfig.h
ipip.h
ipv6.h
net: replace __constant_{endian} uses in net headers
2009-02-14 22:58:35 -08:00
ipx.h
net: replace __constant_{endian} uses in net headers
2009-02-14 22:58:35 -08:00
iw_handler.h
lapb.h
lib80211.h
wireless: missing include in lib80211.h
2008-11-21 11:42:55 -05:00
llc.h
llc_c_ac.h
llc_c_ev.h
llc_c_st.h
llc_conn.h
llc_if.h
llc_pdu.h
llc_s_ac.h
llc_s_ev.h
llc_s_st.h
llc_sap.h
mac80211.h
cfg80211/nl80211: scanning (and mac80211 update to use it)
2009-02-13 13:45:49 -05:00
mip6.h
ndisc.h
ipv6: Fix sporadic sendmsg -EINVAL when sending to multicast groups.
2009-01-04 16:04:39 -08:00
neighbour.h
net: Cleanup of neighbour code
2008-11-12 00:54:54 -08:00
net_namespace.h
netns xfrm: add netns boilerplate
2008-11-25 17:14:31 -08:00
netdma.h
net_dma: convert to dma_find_channel
2009-01-06 11:38:15 -07:00
netevent.h
netlabel.h
netlabel: Update kernel configuration API
2008-12-31 12:54:11 -05:00
netlink.h
netlink: add nla_policy_len()
2009-03-25 18:26:30 +01:00
netrom.h
netrom: convert to internal net_device_stats
2009-01-21 14:02:01 -08:00
nexthop.h
p8022.h
pkt_cls.h
ematch: simpler tcf_em_unregister()
2008-11-16 23:01:49 -08:00
pkt_sched.h
pkt_sched: sch_hfsc: sch_htb: Add non-work-conserving warning handler.
2009-02-01 01:12:42 -08:00
protocol.h
ipv6: Add GRO support
2009-01-08 10:40:57 -08:00
psnap.h
raw.h
rawv6.h
red.h
request_sock.h
net: Fix memory leak in the proto_register function
2008-11-21 16:45:22 -08:00
rose.h
route.h
rtnetlink.h
sch_generic.h
pkt_sched: sch_hfsc: sch_htb: Add non-work-conserving warning handler.
2009-02-01 01:12:42 -08:00
scm.h
Merge branch 'master' into next
2008-11-14 11:29:12 +11:00
slhc_vj.h
snmp.h
sock.h
net: socket infrastructure for SO_TIMESTAMPING
2009-02-15 22:43:35 -08:00
stp.h
tcp.h
tcp: Add GRO support
2008-12-15 23:43:36 -08:00
tcp_states.h
timewait_sock.h
net: Fix memory leak in the proto_register function
2008-11-21 16:45:22 -08:00
transp_v6.h
net: replace __constant_{endian} uses in net headers
2009-02-14 22:58:35 -08:00
udp.h
udp: Use hlist_nulls in UDP RCU code
2008-11-16 19:39:21 -08:00
udplite.h
udp: introduce struct udp_table and multiple spinlocks
2008-10-29 01:41:45 -07:00
wext.h
wimax.h
wimax: fix typo in kernel-doc for debugfs_dentry in struct wimax_dev
2009-01-11 00:06:32 -08:00
wireless.h
cfg80211/nl80211: scanning (and mac80211 update to use it)
2009-02-13 13:45:49 -05:00
x25.h
x25device.h
xfrm.h
netns xfrm: per-netns sysctls
2008-11-25 18:00:48 -08:00