From: Patrick McHardy <kaber@trash.net>
To: lists@andyfurniss.entadsl.com
Cc: Corey Hickey <bugfood-ml@fatooh.org>,
Linux Netdev List <netdev@vger.kernel.org>
Subject: Re: [NET_SCHED 00/04]: External SFQ classifiers/flow classifier
Date: Wed, 02 Apr 2008 14:37:24 +0200 [thread overview]
Message-ID: <47F37E04.4010001@trash.net> (raw)
In-Reply-To: <47F37139.9080303@andyfurniss.entadsl.com>
Andy Furniss wrote:
> Andy Furniss wrote:
>
>> It's cool being able to see the sfq flows.
>
> It's also interesting to notice that allot varies so much.
>
> I have seen +/- 10 * my quantum which I didn't expect, I wonder if it
> needs to be cleared when a flow empties or something.
>
> The source for sfq is a bit hard to follow so I don't really know what's
> happening. I was dropping with limit of 40 (about a second at my rate)
> and had quite a few connections active, hashing on dst.
>
> tcpdump also shows that single flows are getting 3/4/5 packets dequeued
> in a row when there are other flows active.
>
> I guess it's hard to tell the state at any one instant when dropping and
> making flows dis/reappear but it does seem to behave in a way that
> amplifies burstyness.
>
> My quantum = mtu + 14 and there are no giants.
I'm not really sure myself. SFQ and CBQ DRR differ slightly from
the original DRR algorithm by allowing the quantum to go negative
and carrying it over in the next round, where it has to be made
up for. CBQ DRR differs from SFQ in that it keeps an inactive
flow (==empty queue) active until it reaches a positive quantum
again, which is necessary for this implementation if you want
to reset the quantum to avoid having a bursty flow send out its
last packet by overusing its quantum, then going passive and
immediately active again with a full new quantum. This would
cause unfairness against constantly active flows. CBQ does
not reset the quantum when activating a class though, which
also looks like a bug.
I haven't fully understood the differences between the SFQ/CBQ
DRR implementations and the original DRR algorithm, but I'm
looking into it for other reasons anyways (my DRR scheduler
uses a similar implementation because it avoids the need to
requeue and I want to properly understand this before pushing
it upstream), so I can hopefully soon tell you more :)
next prev parent reply other threads:[~2008-04-02 12:37 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-31 17:58 [NET_SCHED 00/04]: External SFQ classifiers/flow classifier Patrick McHardy
2008-01-31 17:58 ` [NET_SCHED 01/04]: Constify struct tcf_ext_map Patrick McHardy
2008-01-31 17:58 ` [NET_SCHED 02/04]: sch_sfq: add support for external classifiers Patrick McHardy
2008-01-31 17:58 ` [NET_SCHED 03/04]: sch_sfq: make internal queues visible as classes Patrick McHardy
2008-01-31 17:58 ` [NET_SCHED 04/04]: Add flow classifier Patrick McHardy
2008-02-01 2:37 ` [NET_SCHED 00/04]: External SFQ classifiers/flow classifier David Miller
2008-02-02 23:23 ` Corey Hickey
2008-02-04 17:48 ` Patrick McHardy
2008-02-04 18:25 ` Corey Hickey
2008-03-29 23:35 ` Andy Furniss
2008-04-01 12:39 ` Patrick McHardy
2008-04-01 19:04 ` Andy Furniss
2008-04-02 11:42 ` Andy Furniss
2008-04-02 12:37 ` Patrick McHardy [this message]
2008-04-02 16:26 ` Andy Furniss
2008-04-04 10:42 ` Andy Furniss
2008-04-04 10:45 ` Patrick McHardy
2008-04-04 17:01 ` Andy Furniss
2008-04-04 18:54 ` Andy Furniss
2008-04-07 13:43 ` Andy Furniss
2008-04-07 13:44 ` Patrick McHardy
2008-04-07 15:14 ` Andy Furniss
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=47F37E04.4010001@trash.net \
--to=kaber@trash.net \
--cc=bugfood-ml@fatooh.org \
--cc=lists@andyfurniss.entadsl.com \
--cc=netdev@vger.kernel.org \
/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;
as well as URLs for NNTP newsgroup(s).