]> git.baikalelectronics.ru Git - kernel.git/commit
pkt_sched: fq: fix pacing for small frames
authorEric Dumazet <edumazet@google.com>
Fri, 15 Nov 2013 16:58:14 +0000 (08:58 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 16 Nov 2013 02:01:52 +0000 (21:01 -0500)
commit2b8466966203e998451c4499a337be709bcbbb9e
tree87135c0dc32f5abc284e4298fc674ff7f03d0f16
parent553ea2a52c7e08710b8385d35254864d94b9b979
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: c80bf3d5e95c ("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>
include/uapi/linux/pkt_sched.h
net/sched/sch_fq.c