Peter P Waskiewicz Jr
5f1a485d59
[PKT_SCHED]: Check subqueue status before calling hard_start_xmit
...
The only qdiscs that check subqueue state before dequeue'ing are PRIO
and RR. The other qdiscs, including the default pfifo_fast qdisc,
will allow traffic bound for subqueue 0 through to hard_start_xmit.
The check for netif_queue_stopped() is done above in pkt_sched.h, so
it is unnecessary for qdisc_restart(). However, if the underlying
driver is multiqueue capable, and only sets queue states on subqueues,
this will allow packets to enter the driver when it's currently unable
to process packets, resulting in expensive requeues and driver
entries. This patch re-adds the check for the subqueue status before
calling hard_start_xmit, so we can try and avoid the driver entry when
the queues are stopped.
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2007-11-13 20:40:55 -08:00
..
act_api.c
[NET_SCHED] protect action config/dump from irqs
2007-09-14 16:43:05 -07:00
act_gact.c
[NET_SCHED]: Remove unnecessary includes
2007-07-10 22:16:41 -07:00
act_ipt.c
[NETFILTER]: Replace sk_buff ** with sk_buff *
2007-10-15 12:26:29 -07:00
act_mirred.c
[NET_CLS_ACT]: Use skb_act_clone
2007-10-26 02:47:54 -07:00
act_nat.c
[PKT_SCHED]: Add stateless NAT
2007-10-10 16:53:11 -07:00
act_pedit.c
[NET_SCHED]: Remove unnecessary includes
2007-07-10 22:16:41 -07:00
act_police.c
[NET_SCHED]: Cleanup L2T macros and handle oversized packets
2007-10-10 16:49:20 -07:00
act_simple.c
[NET_SCHED]: Remove unnecessary includes
2007-07-10 22:16:41 -07:00
cls_api.c
[NET]: Make the device list and device lookups per namespace.
2007-10-10 16:49:10 -07:00
cls_basic.c
[NET_SCHED]: Remove unnecessary includes
2007-07-10 22:16:41 -07:00
cls_fw.c
[NET_SCHED]: Remove unnecessary includes
2007-07-10 22:16:41 -07:00
cls_route.c
[NET_SCHED]: Remove unnecessary includes
2007-07-10 22:16:41 -07:00
cls_rsvp.c
[NET_SCHED]: Remove unnecessary includes
2007-07-10 22:16:41 -07:00
cls_rsvp.h
[NETLINK]: Use nlmsg_trim() where appropriate
2007-04-25 22:26:37 -07:00
cls_rsvp6.c
[NET_SCHED]: Remove unnecessary includes
2007-07-10 22:16:41 -07:00
cls_tcindex.c
[NET_SCHED]: Remove unnecessary includes
2007-07-10 22:16:41 -07:00
cls_u32.c
[PKT_SCHED] CLS_U32: Use ffs() instead of C code on hash mask to get first set bit.
2007-11-10 21:54:50 -08:00
em_cmp.c
[NET_SCHED]: ematch: module autoloading
2007-07-11 19:46:26 -07:00
em_meta.c
Fix misspellings of "system", "controller", "interrupt" and "necessary".
2007-10-19 23:10:43 +02:00
em_nbyte.c
[NET_SCHED]: ematch: module autoloading
2007-07-11 19:46:26 -07:00
em_text.c
[NET_SCHED]: ematch: module autoloading
2007-07-11 19:46:26 -07:00
em_u32.c
[NET_SCHED]: ematch: module autoloading
2007-07-11 19:46:26 -07:00
ematch.c
[NET_SCHED]: ematch: module autoloading
2007-07-11 19:46:26 -07:00
Kconfig
[NET]: QoS/Sched as menuconfig
2007-10-18 21:56:38 -07:00
Makefile
[PKT_SCHED]: Add stateless NAT
2007-10-10 16:53:11 -07:00
sch_api.c
[NET_SCHED]: Show timer resolution instead of clock resolution in /proc/net/psched
2007-10-10 16:55:59 -07:00
sch_atm.c
[ATM]: Replacing kmalloc/memset combination with kzalloc.
2007-07-18 01:46:51 -07:00
sch_blackhole.c
[NET_SCHED]: Remove unnecessary includes
2007-07-10 22:16:41 -07:00
sch_cbq.c
[NET_SCHED]: Cleanup L2T macros and handle oversized packets
2007-10-10 16:49:20 -07:00
sch_dsmark.c
[NET_SCHED]: Kill CONFIG_NET_CLS_POLICE
2007-07-15 00:03:05 -07:00
sch_fifo.c
[NET_SCHED]: Remove unnecessary includes
2007-07-10 22:16:41 -07:00
sch_generic.c
[PKT_SCHED]: Check subqueue status before calling hard_start_xmit
2007-11-13 20:40:55 -08:00
sch_gred.c
[NET_SCHED]: Remove unnecessary includes
2007-07-10 22:16:41 -07:00
sch_hfsc.c
[NET_SCHED]: Kill CONFIG_NET_CLS_POLICE
2007-07-15 00:03:05 -07:00
sch_htb.c
[NET_SCHED]: Cleanup L2T macros and handle oversized packets
2007-10-10 16:49:20 -07:00
sch_ingress.c
[NETFILTER]: Replace sk_buff ** with sk_buff *
2007-10-15 12:26:29 -07:00
sch_netem.c
[NET_SCHED]: Remove unnecessary includes
2007-07-10 22:16:41 -07:00
sch_prio.c
[PKT_SCHED]: Fix sch_prio.c build with CONFIG_NETDEVICES_MULTIQUEUE
2007-10-23 21:27:53 -07:00
sch_red.c
[NET_SCHED]: Remove unnecessary includes
2007-07-10 22:16:41 -07:00
sch_sfq.c
[SFQ]: Remove artificial limitation for queue limit.
2007-10-01 21:01:23 -07:00
sch_tbf.c
[NET_SCHED]: Cleanup L2T macros and handle oversized packets
2007-10-10 16:49:20 -07:00
sch_teql.c
[PKT_SCHED]: Fix OOPS when removing devices from a teql queuing discipline
2007-11-07 04:09:17 -08:00