netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andy Furniss <lists@andyfurniss.entadsl.com>
To: Patrick McHardy <kaber@trash.net>
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 17:26:45 +0100	[thread overview]
Message-ID: <47F3B3C5.6000701@andyfurniss.entadsl.com> (raw)
In-Reply-To: <47F37E04.4010001@trash.net>

Patrick McHardy wrote:
> 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 :)
> 

OK - FWIW I've been looking harder and have now seen the full range of 
+/- 32k so I assume it's just not getting initialised properly.

Andy.



  reply	other threads:[~2008-04-02 16:25 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
2008-04-02 16:26               ` Andy Furniss [this message]
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=47F3B3C5.6000701@andyfurniss.entadsl.com \
    --to=lists@andyfurniss.entadsl.com \
    --cc=bugfood-ml@fatooh.org \
    --cc=kaber@trash.net \
    --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).