linux-stable/net/sched
Eric Dumazet fd245a4adb net_sched: move TCQ_F_THROTTLED flag
In commit 3711210576 (net: QDISC_STATE_RUNNING dont need atomic bit
ops) I moved QDISC_STATE_RUNNING flag to __state container, located in
the cache line containing qdisc lock and often dirtied fields.

I now move TCQ_F_THROTTLED bit too, so that we let first cache line read
mostly, and shared by all cpus. This should speedup HTB/CBQ for example.

Not using test_bit()/__clear_bit()/__test_and_set_bit allows to use an
"unsigned int" for __state container, reducing by 8 bytes Qdisc size.

Introduce helpers to hide implementation details.

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:32 -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
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
sch_api.c net_sched: move TCQ_F_THROTTLED flag 2011-01-20 16:59:32 -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: move TCQ_F_THROTTLED flag 2011-01-20 16:59:32 -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: move TCQ_F_THROTTLED flag 2011-01-20 16:59:32 -08:00
sch_htb.c net_sched: move TCQ_F_THROTTLED flag 2011-01-20 16:59:32 -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: move TCQ_F_THROTTLED flag 2011-01-20 16:59:32 -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: move TCQ_F_THROTTLED flag 2011-01-20 16:59:32 -08:00
sch_teql.c net_sched: cleanups 2011-01-19 23:31:12 -08:00