Eric Dumazet
f52ed89971
pkt_sched: fq: fix pacing for small frames
...
For performance reasons, sch_fq tried hard to not setup timers for every
sent packet, using a quantum based heuristic : A delay is setup only if
the flow exhausted its credit.
Problem is that application limited flows can refill their credit
for every queued packet, and they can evade pacing.
This problem can also be triggered when TCP flows use small MSS values,
as TSO auto sizing builds packets that are smaller than the default fq
quantum (3028 bytes)
This patch adds a 40 ms delay to guard flow credit refill.
Fixes: afe4fd0624 ("pkt_sched: fq: Fair Queue packet scheduler")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Maciej Żenczykowski <maze@google.com>
Cc: Willem de Bruijn <willemb@google.com>
Cc: Yuchung Cheng <ycheng@google.com>
Cc: Neal Cardwell <ncardwell@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-11-15 21:01:52 -05:00
..
act_api.c
act_csum.c
act_csum: fix possible use after free
2013-04-12 15:25:41 -04:00
act_gact.c
act_ipt.c
net_sched: act_ipt forward compat with xtables
2013-05-01 13:19:19 -04:00
act_mirred.c
net: pass info struct via netdevice notifier
2013-05-28 13:11:01 -07:00
act_nat.c
act_pedit.c
act_police.c
net_sched: add u64 rate to psched_ratecfg_precompute()
2013-09-20 14:41:02 -04:00
act_simple.c
act_skbedit.c
cls_api.c
net_cls: remove duplicated include from cls_api.c
2013-04-07 17:12:01 -04:00
cls_basic.c
qdisc: basic classifier - remove unnecessary initialization
2013-09-30 15:47:43 -04:00
cls_bpf.c
net: sched: cls_bpf: add BPF-based classifier
2013-10-29 17:33:17 -04:00
cls_cgroup.c
cgroup: cls: remove unnecessary task_cls_classid
2013-10-08 16:27:34 -04:00
cls_flow.c
netlink: rename ssk to sk in struct netlink_skb_params
2013-04-19 14:57:56 -04:00
cls_fw.c
pkt_sched: fix error return code in fw_change_attrs()
2013-04-19 17:34:53 -04:00
cls_route.c
cls_rsvp.c
cls_rsvp.h
cls_rsvp6.c
cls_tcindex.c
cls_u32.c
em_canid.c
em_cmp.c
em_ipset.c
em_ipset: use dev_net() accessor
2013-10-18 16:23:06 -04:00
em_meta.c
qdisc: meta return ENOMEM on alloc failure
2013-09-30 15:47:43 -04:00
em_nbyte.c
em_text.c
em_u32.c
ematch.c
Kconfig
net: sched: cls_bpf: add BPF-based classifier
2013-10-29 17:33:17 -04:00
Makefile
net: sched: cls_bpf: add BPF-based classifier
2013-10-29 17:33:17 -04:00
sch_api.c
net_sched: increment drop counters in qdisc_tree_decrease_qlen()
2013-10-08 16:27:33 -04:00
sch_atm.c
net_sched: info leak in atm_tc_dump_class()
2013-07-31 15:04:19 -07:00
sch_blackhole.c
sch_cbq.c
net_sched: Fix stack info leak in cbq_dump_wrr().
2013-07-30 00:16:21 -07:00
sch_choke.c
treewide: Add __GFP_NOWARN to k.alloc calls with v.alloc fallbacks
2013-08-20 13:06:40 +02:00
sch_codel.c
sch_drr.c
net_sched: add 64bit rate estimators
2013-06-11 02:51:03 -07:00
sch_dsmark.c
sch_fifo.c
sch_fq.c
pkt_sched: fq: fix pacing for small frames
2013-11-15 21:01:52 -05:00
sch_fq_codel.c
sch_generic.c
net: Add layer 2 hardware acceleration operations for macvlan devices
2013-11-07 19:11:41 -05:00
sch_gred.c
sch_hfsc.c
net_sched: add 64bit rate estimators
2013-06-11 02:51:03 -07:00
sch_htb.c
net_sched: htb: support of 64bit rates
2013-09-20 14:41:03 -04:00
sch_ingress.c
sch_mq.c
qdisc: allow setting default queuing discipline
2013-08-31 00:32:32 -04:00
sch_mqprio.c
qdisc: allow setting default queuing discipline
2013-08-31 00:32:32 -04:00
sch_multiq.c
sch_netem.c
netem: markov loss model transition fix
2013-10-25 19:03:39 -04:00
sch_plug.c
sch_prio.c
sch_qfq.c
pkt_sched: sch_qfq: remove a source of high packet delay/jitter
2013-07-18 13:02:00 -07:00
sch_red.c
sch_sfb.c
sch_sfq.c
sch_tbf.c
net_sched: tbf: support of 64bit rates
2013-11-09 14:53:37 -05:00
sch_teql.c