[NETFILTER]: nf_conntrack: use hlists for conntrack hash
authorPatrick McHardy <kaber@trash.net>
Sun, 8 Jul 2007 05:28:14 +0000 (22:28 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Wed, 11 Jul 2007 05:17:40 +0000 (22:17 -0700)
commitf205c5e0c28aa7e0fb6eaaa66e97928f9d9e6994
tree7ad04d827c5c2d24ac804346d95853ebceab0bfd
parent8e5105a0c36a059dfd0f0bb9e73ee7c97d306247
[NETFILTER]: nf_conntrack: use hlists for conntrack hash

Convert conntrack hash to hlists to reduce its size and cache
footprint. Since the default hashsize to max. entries ratio
sucks (1:16), this patch doesn't reduce the amount of memory
used for the hash by default, but instead uses a better ratio
of 1:8, which results in the same max. entries value.

One thing worth noting is early_drop. It really should use LRU,
so it now has to iterate over the entire chain to find the last
unconfirmed entry. Since chains shouldn't be very long and the
entire operation is very rare this shouldn't be a problem.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/netfilter/nf_conntrack_core.h
include/net/netfilter/nf_conntrack_tuple.h
net/ipv4/netfilter/nf_conntrack_l3proto_ipv4_compat.c
net/netfilter/nf_conntrack_core.c
net/netfilter/nf_conntrack_helper.c
net/netfilter/nf_conntrack_netlink.c
net/netfilter/nf_conntrack_standalone.c