kernel_optimize_test/net/sched
Eric Dumazet 817fb15dfd net_sched: sfq: allow divisor to be a parameter
SFQ currently uses a 1024 slots hash table, and its internal structure
(sfq_sched_data) allocation needs order-1 page on x86_64

Allow tc command to specify a divisor value (hash table size), between 1
and 65536.
If no value is provided, assume the 1024 default size.

This allows admins to setup smaller (or bigger) SFQ for specific needs.

This also brings back sfq_sched_data allocations to order-0 ones, saving
3KB per SFQ qdisc.

Jesper uses ~55.000 SFQ in one machine, this patch should free 165 MB of
memory.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
CC: Patrick McHardy <kaber@trash.net>
CC: Jesper Dangaard Brouer <hawk@diku.dk>
CC: Jarek Poplawski <jarkao2@gmail.com>
CC: Jamal Hadi Salim <hadi@cyberus.ca>
CC: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-01-20 16:59:16 -08:00
..
act_api.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
act_csum.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
act_gact.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
act_ipt.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
act_mirred.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
act_nat.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
act_pedit.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
act_police.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
act_simple.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
act_skbedit.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
cls_api.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
cls_basic.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
cls_cgroup.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
cls_flow.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 2011-01-20 00:06:15 -08:00
cls_fw.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
cls_route.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
cls_rsvp.c [NET_SCHED]: Remove unnecessary includes 2007-07-10 22:16:41 -07:00
cls_rsvp.h net_sched: cleanups 2011-01-19 23:31:12 -08:00
cls_rsvp6.c [NET_SCHED]: Remove unnecessary includes 2007-07-10 22:16:41 -07:00
cls_tcindex.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
cls_u32.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
em_cmp.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
em_meta.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 2011-01-20 00:06:15 -08:00
em_nbyte.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
em_text.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
em_u32.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
ematch.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
Kconfig Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 2011-01-20 00:06:15 -08:00
Makefile net_sched: implement a root container qdisc sch_mqprio 2011-01-19 23:31:11 -08:00
sch_api.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
sch_atm.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
sch_blackhole.c pkt_sched: Add qdisc->ops->peek() implementation. 2008-10-31 00:45:55 -07:00
sch_cbq.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
sch_drr.c net_sched: factorize qdisc stats handling 2011-01-10 16:07:54 -08:00
sch_dsmark.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
sch_fifo.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
sch_generic.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
sch_gred.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
sch_hfsc.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
sch_htb.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
sch_ingress.c net_sched: factorize qdisc stats handling 2011-01-10 16:07:54 -08:00
sch_mq.c net_sched: remove the unused parameter of qdisc_create_dflt() 2010-10-21 03:09:47 -07:00
sch_mqprio.c net_sched: implement a root container qdisc sch_mqprio 2011-01-19 23:31:11 -08:00
sch_multiq.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
sch_netem.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
sch_prio.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
sch_red.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
sch_sfq.c net_sched: sfq: allow divisor to be a parameter 2011-01-20 16:59:16 -08:00
sch_tbf.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
sch_teql.c net_sched: cleanups 2011-01-19 23:31:12 -08:00