kernel_optimize_test/net/sched
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
..
act_api.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cls_api.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cls_basic.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cls_fw.c [PKT_SCHED]: improve hashing performance of cls_fw 2005-04-24 20:19:54 -07:00
cls_route.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cls_rsvp.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cls_rsvp.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cls_rsvp6.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cls_tcindex.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cls_u32.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
em_cmp.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
em_meta.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
em_nbyte.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
em_u32.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ematch.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
estimator.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
gact.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ipt.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Kconfig [PKT_SCHED]: Introduce simple actions. 2005-04-24 20:10:16 -07:00
Makefile [PKT_SCHED]: Introduce simple actions. 2005-04-24 20:10:16 -07:00
mirred.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pedit.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
police.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sch_api.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sch_atm.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sch_cbq.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sch_dsmark.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sch_fifo.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sch_generic.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sch_gred.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sch_hfsc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sch_htb.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sch_ingress.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sch_netem.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sch_prio.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sch_red.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sch_sfq.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sch_tbf.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sch_teql.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
simple.c [PKT_SCHED]: Introduce simple actions. 2005-04-24 20:10:16 -07:00