From: Eric Dumazet <eric.dumazet@gmail.com>
To: "Dave Täht" <d@taht.net>
Cc: Van Jacobson <van@parc.com>,
bloat-devel@lists.bufferbloat.net, bloat@lists.bufferbloat.net
Subject: Re: [Bloat] Please enter issues into the issue tracker - Issue system organisation needed.
Date: Thu, 24 Feb 2011 20:29:29 +0100 [thread overview]
Message-ID: <1298575769.2659.10.camel@edumazet-laptop> (raw)
In-Reply-To: <87sjvds2r7.fsf@cruithne.co.teklibre.org>
Le jeudi 24 février 2011 à 11:31 -0700, Dave Täht a écrit :
> I would really like a sane implementation of some basic tc scripts for
> SFB and CHOKe to be out there.
>
> Dan Siemon's recent set of bufferbloat-related tests
>
> http://www.coverfire.com/archives/2011/02/21/network-latency-experiments/
>
> appeared to invoke issues between multiple queuing disciplines when
> using SFB.
>
Hmm.. hard to say because I personally use SFQ a lot, in ingress and
egress. It's really good for many uses, but you also need a shaper above
SFQ, of course !
Notes:
- We had some bugs in SFQ that I fixed two months ago, take care !
- Its important to set TSO off (ethtool -K eth0 tso off), or else we
send big packets (up to 64Kbytes) and this used to break SFQ fairness.
This can really hurt latencies of interactive flows.
Extract of SFQ changelog :
commit 18c8d82ae5b802c5d82e0dfbcc08b1b568955f46
Author: Eric Dumazet <eric.dumazet@gmail.com>
Date: Fri Dec 31 12:48:55 2010 -0800
sfq: fix slot_dequeue_head()
slot_dequeue_head() should make sure slot skb chain is correct in both
ways, or we can crash if all possible flows are in use.
Jarek pointed out slot_queue_init() can now be done in sfq_init() once,
instead each time a flow is setup.
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
commit eeaeb068f1393b4db4861481bf594bcd1c3eda7a
Author: Eric Dumazet <eric.dumazet@gmail.com>
Date: Tue Dec 28 21:53:33 2010 +0000
sch_sfq: allow big packets and be fair
SFQ is currently 'limited' to small packets, because it uses a 15bit
allotment number per flow. Introduce a scale by 8, so that we can handle
full size TSO/GRO packets.
Use appropriate handling to make sure allot is positive before a new
packet is dequeued, so that fairness is respected.
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Acked-by: Jarek Poplawski <jarkao2@gmail.com>
Cc: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
commit ee09b3c1cff0335137dc1b146488e4352f640f13
Author: Eric Dumazet <eric.dumazet@gmail.com>
Date: Wed Dec 22 11:39:59 2010 -0800
sfq: fix sfq class stats handling
sfq_walk() runs without qdisc lock. By the time it selects a non empty
hash slot and sfq_dump_class_stats() is run (with lock held), slot might
have been freed : We then access q->slots[SFQ_EMPTY_SLOT], out of
bounds, and crash in slot_queue_walk()
On previous kernels, bug is here but out of bounds qs[SFQ_DEPTH] and
allot[SFQ_DEPTH] are located in struct sfq_sched_data, so no illegal
memory access happens, only possibly wrong data reported to user.
Also, slot_dequeue_tail() should make sure slot skb chain is correctly
terminated, or sfq_dump_class_stats() can access freed skbs.
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
commit eda83e3b63e88351310c13c99178eb4634f137b2
Author: Eric Dumazet <eric.dumazet@gmail.com>
Date: Mon Dec 20 12:54:58 2010 +0000
net_sched: sch_sfq: better struct layouts
Here is a respin of patch.
I'll send a short patch to make SFQ more fair in presence of large
packets as well.
Thanks
[PATCH v3 net-next-2.6] net_sched: sch_sfq: better struct layouts
This patch shrinks sizeof(struct sfq_sched_data)
from 0x14f8 (or more if spinlocks are bigger) to 0x1180 bytes, and
reduce text size as well.
text data bss dec hex filename
4821 152 0 4973 136d old/net/sched/sch_sfq.o
4627 136 0 4763 129b new/net/sched/sch_sfq.o
All data for a slot/flow is now grouped in a compact and cache friendly
structure, instead of being spreaded in many different points.
commit aa3e219997e4b949be4199660936099ded0b401f
Author: Eric Dumazet <eric.dumazet@gmail.com>
Date: Mon Dec 20 13:18:16 2010 -0800
net_sched: sch_sfq: fix allot handling
When deploying SFQ/IFB here at work, I found the allot management was
pretty wrong in sfq, even changing allot from short to int...
We should init allot for each new flow, not using a previous value found
in slot.
Before patch, I saw bursts of several packets per flow, apparently
denying the default "quantum 1514" limit I had on my SFQ class.
next prev parent reply other threads:[~2011-02-24 19:29 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-24 14:19 Jim Gettys
2011-02-24 15:00 ` Fred Baker
2011-02-24 16:32 ` Jim Gettys
2011-02-24 17:08 ` Eric Dumazet
2011-02-24 18:31 ` Dave Täht
2011-02-24 19:29 ` Eric Dumazet [this message]
2011-02-25 10:12 ` [Bloat] smokeping for Windows Seth Teller
2011-02-25 10:51 ` Jim Gettys
2011-02-25 11:21 ` [Bloat] GSO (was: Please enter issues into the issue tracker - Issue system organisation needed) Jesper Dangaard Brouer
2011-02-25 11:54 ` Eric Dumazet
2011-02-25 15:48 ` Jesper Dangaard Brouer
2011-02-25 16:19 ` Eric Dumazet
2011-02-25 16:33 ` Eric Dumazet
2011-02-25 17:15 ` Jesper Dangaard Brouer
2011-02-26 2:41 ` [Bloat] GSO Dave Täht
2011-03-02 8:30 ` Jesper Dangaard Brouer
2011-03-04 2:23 ` Dave Täht
2011-02-25 15:40 ` [Bloat] Please enter issues into the issue tracker - Issue system organisation needed John W. Linville
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://lists.bufferbloat.net/postorius/lists/bloat.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1298575769.2659.10.camel@edumazet-laptop \
--to=eric.dumazet@gmail.com \
--cc=bloat-devel@lists.bufferbloat.net \
--cc=bloat@lists.bufferbloat.net \
--cc=d@taht.net \
--cc=van@parc.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox