1
linux/net
Thomas Graf c5c13fafd6 [PKT_SCHED]: improve hashing performance of cls_fw
Calculate hashtable size to fit into a page instead of a hardcoded
256 buckets hash table. Results in a 1024 buckets hashtable on
most systems.

Replace old naive extract-8-lsb-bits algorithm with a better
algorithm xor'ing 3 or 4 bit fields at the size of the hashtable
array index in order to improve distribution if the majority of
the lower bits are unused while keeping zero collision behaviour
for the most common use case.

Thanks to Wang Jian <lark@linux.net.cn> for bringing this issue
to attention and to Eran Mann <emann@mrv.com> for the initial
idea for this new algorithm.

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-04-24 20:19:54 -07:00
..
802 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
8021q Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
appletalk [ATALK]: Add missing dev_hold() to atrtr_create(). 2005-04-19 22:44:17 -07:00
atm [ATM]: net/atm/resources.c: remove __free_atm_dev 2005-04-21 16:48:26 -07:00
ax25 [AX25] Introduce ax25_type_trans 2005-04-24 18:53:06 -07:00
bluetooth Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bridge [PATCH] kobject/hotplug split - net bridge 2005-04-18 21:57:37 -07:00
core [NET]: Document ->hard_start_xmit() locking in comments. 2005-04-24 20:12:36 -07:00
decnet Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
econet Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ethernet Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ipv4 [TCP]: skb pcount with MTU discovery 2005-04-24 19:12:33 -07:00
ipv6 [SELINUX]: Fix ipv6_skip_exthdr() invocation causing OOPS. 2005-04-24 20:16:19 -07:00
ipx Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irda [PATCH] x86_64: Make IRDA devices are not really ISA devices not depend on CONFIG_ISA 2005-04-16 15:24:56 -07:00
key Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
lapb Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
netlink Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
netrom Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
packet Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rose Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rxrpc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sched [PKT_SCHED]: improve hashing performance of cls_fw 2005-04-24 20:19:54 -07:00
sctp Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sunrpc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unix Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
wanrouter Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
x25 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xfrm [XFRM]: Fix existence lookup in xfrm_state_find 2005-04-21 20:12:32 -07:00
compat.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Kconfig Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nonet.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
socket.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sysctl_net.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
TUNABLE Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00