linux/net/sched
David S. Miller fd2ea0a79f net: Use queue aware tests throughout.
This effectively "flips the switch" by making the core networking
and multiqueue-aware drivers use the new TX multiqueue structures.

Non-multiqueue drivers need no changes.  The interfaces they use such
as netif_stop_queue() degenerate into an operation on TX queue zero.
So everything "just works" for them.

Code that really wants to do "X" to all TX queues now invokes a
routine that does so, such as netif_tx_wake_all_queues(),
netif_tx_stop_all_queues(), etc.

pktgen and netpoll required a little bit more surgery than the others.

In particular the pktgen changes, whilst functional, could be largely
improved.  The initial check in pktgen_xmit() will sometimes check the
wrong queue, which is mostly harmless.  The thing to do is probably to
invoke fill_packet() earlier.

The bulk of the netpoll changes is to make the code operate solely on
the TX queue indicated by by the SKB queue mapping.

Setting of the SKB queue mapping is entirely confined inside of
net/core/dev.c:dev_pick_tx().  If we end up needing any kind of
special semantics (drops, for example) it will be implemented here.

Finally, we now have a "real_num_tx_queues" which is where the driver
indicates how many TX queues are actually active.

With IGB changes from Jeff Kirsher.

Signed-off-by: David S. Miller <davem@davemloft.net>
2008-07-17 19:21:07 -07:00
..
act_api.c [NET] NETNS: Omit sock->sk_net without CONFIG_NET_NS. 2008-03-26 04:39:55 +09:00
act_gact.c [NET_SCHED]: Use nla_policy for attribute validation in actions 2008-01-28 15:11:23 -08:00
act_ipt.c [NET_SCHED]: Use nla_policy for attribute validation in actions 2008-01-28 15:11:23 -08:00
act_mirred.c [NET_SCHED]: Use nla_policy for attribute validation in actions 2008-01-28 15:11:23 -08:00
act_nat.c [NET_SCHED]: Use nla_policy for attribute validation in actions 2008-01-28 15:11:23 -08:00
act_pedit.c [NET_SCHED]: Use nla_policy for attribute validation in actions 2008-01-28 15:11:23 -08:00
act_police.c [NET_SCHED]: Use nla_policy for attribute validation in actions 2008-01-28 15:11:23 -08:00
act_simple.c net_cls_act: act_simple dont ignore realloc code 2008-05-06 00:10:24 -07:00
cls_api.c netdev: Allocate multiple queues for TX. 2008-07-17 19:21:00 -07:00
cls_basic.c [NET_SCHED]: Constify struct tcf_ext_map 2008-01-31 19:28:34 -08:00
cls_flow.c net-sched: cls_flow: add perturbation support 2008-07-14 20:36:32 -07:00
cls_fw.c [NET_SCHED]: Constify struct tcf_ext_map 2008-01-31 19:28:34 -08:00
cls_route.c pkt_sched: Remove 'dev' member of struct Qdisc. 2008-07-08 17:06:30 -07:00
cls_rsvp.c [NET_SCHED]: Remove unnecessary includes 2007-07-10 22:16:41 -07:00
cls_rsvp.h [NET_SCHED]: Use nla_policy for attribute validation in classifiers 2008-01-28 15:11:23 -08:00
cls_rsvp6.c [NET_SCHED]: Remove unnecessary includes 2007-07-10 22:16:41 -07:00
cls_tcindex.c [NET_SCHED]: Constify struct tcf_ext_map 2008-01-31 19:28:34 -08:00
cls_u32.c [NET_SCHED] cls_u32: refcounting fix for u32_delete() 2008-04-12 18:37:13 -07:00
em_cmp.c [NET_SCHED]: ematch: module autoloading 2007-07-11 19:46:26 -07:00
em_meta.c [IPV4]: Add 'rtable' field in struct sk_buff to alias 'dst' and avoid casts 2008-03-05 18:30:47 -08:00
em_nbyte.c [NET_SCHED]: ematch: module autoloading 2007-07-11 19:46:26 -07:00
em_text.c [NET_SCHED]: Convert classifiers from rtnetlink to new netlink API 2008-01-28 15:11:11 -08:00
em_u32.c [PKT_SCHED]: annotate cls_u32 2008-03-17 22:46:46 -07:00
ematch.c [PKT_SCHED] ematch: Fix build warning. 2008-02-10 03:48:15 -08:00
Kconfig pkt_sched: Remove CONFIG_NET_SCH_RR 2008-06-27 19:54:05 -07:00
Makefile [NET_SCHED]: Add flow classifier 2008-01-31 19:28:36 -08:00
sch_api.c netdev: Allocate multiple queues for TX. 2008-07-17 19:21:00 -07:00
sch_atm.c pkt_sched: Remove 'dev' member of struct Qdisc. 2008-07-08 17:06:30 -07:00
sch_blackhole.c [NET]: Move Qdisc_class_ops and Qdisc_ops in appropriate sections. 2008-01-28 14:53:58 -08:00
sch_cbq.c netdev: Make netif_schedule() routines work with netdev_queue objects. 2008-07-08 23:11:25 -07:00
sch_dsmark.c pkt_sched: Remove 'dev' member of struct Qdisc. 2008-07-08 17:06:30 -07:00
sch_fifo.c pkt_sched: Remove 'dev' member of struct Qdisc. 2008-07-08 17:06:30 -07:00
sch_generic.c net: Use queue aware tests throughout. 2008-07-17 19:21:07 -07:00
sch_gred.c pkt_sched: Remove 'dev' member of struct Qdisc. 2008-07-08 17:06:30 -07:00
sch_hfsc.c netdev: Move queue_lock into struct netdev_queue. 2008-07-08 17:18:23 -07:00
sch_htb.c netdev: Move queue_lock into struct netdev_queue. 2008-07-08 17:18:23 -07:00
sch_ingress.c net-sched: change tcf_destroy_chain() to clear start of filter list 2008-07-01 19:52:38 -07:00
sch_netem.c pkt_sched: Make netem queue agnostic. 2008-07-08 22:57:51 -07:00
sch_prio.c pkt_sched: Remove RR scheduler. 2008-07-17 19:21:04 -07:00
sch_red.c net-sched: consolidate default fifo qdisc setup 2008-07-05 23:40:21 -07:00
sch_sfq.c pkt_sched: Remove 'dev' member of struct Qdisc. 2008-07-08 17:06:30 -07:00
sch_tbf.c net-sched: consolidate default fifo qdisc setup 2008-07-05 23:40:21 -07:00
sch_teql.c net: Use queue aware tests throughout. 2008-07-17 19:21:07 -07:00