From: Stephen Hemminger <shemminger@vyatta.com>
To: Changli Gao <xiaosuo@gmail.com>
Cc: Eric Dumazet <eric.dumazet@gmail.com>,
David Miller <davem@davemloft.net>,
netdev@vger.kernel.org
Subject: Re: [RFC] sched: CHOKe packet scheduler (v0.2)
Date: Thu, 6 Jan 2011 23:10:36 -0800 [thread overview]
Message-ID: <20110106231036.0252641f@s6510> (raw)
In-Reply-To: <AANLkTi=C6c2md1_MB6dqvVHx2OL0Vj5Lgosi2C=kK9YG@mail.gmail.com>
On Fri, 7 Jan 2011 13:39:26 +0800
Changli Gao <xiaosuo@gmail.com> wrote:
> On Fri, Jan 7, 2011 at 12:55 PM, Stephen Hemminger
> <shemminger@vyatta.com> wrote:
> > On Thu, 06 Jan 2011 05:07:30 +0100
> > Eric Dumazet <eric.dumazet@gmail.com> wrote:
> >
> >> Le mercredi 05 janvier 2011 à 11:21 -0800, Stephen Hemminger a écrit :
> >> > This implements the CHOKe packet scheduler based on the existing
> >> > Linux RED scheduler based on the algorithm described in the paper.
> >> >
> >> > The core idea is:
> >> > For every packet arrival:
> >> > Calculate Qave
> >> > if (Qave < minth)
> >> > Queue the new packet
> >> > else
> >> > Select randomly a packet from the queue
> >> > if (both packets from same flow)
> >> > then Drop both the packets
> >> > else if (Qave > maxth)
> >> > Drop packet
> >> > else
> >> > Admit packet with probability p (same as RED)
> >> >
> >> > See also:
> >> > Rong Pan, Balaji Prabhakar, Konstantinos Psounis, "CHOKe: a stateless active
> >> > queue management scheme for approximating fair bandwidth allocation",
> >> > Proceeding of INFOCOM'2000, March 2000.
> >> >
> >> > Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
> >> >
> >>
> >> To be really useful in a wide range of environments, I believe that :
> >>
> >> - CHOKe should be able to use an external flow classifier (like say...
> >> SFQ) to compute a token and compare two skbs by this token instead of
> >> custom rxhash or whatever. (rxhash can be the default in absence of flow
> >> classifier). Probably you need to store the token in skb->cb[] to avoid
> >> calling tc_classify() several times for a given packet.
> >>
> >> http://lwn.net/Articles/236200/
> >> http://kerneltrap.org/mailarchive/linux-netdev/2008/1/31/667679
> >
> > Probably should split SFQ flow hash stuff into core code for reuse.
> >
> >
>
> We need not do that, since we have sch_drr and cls_flow. :)
I prefer that the qdisc be useable without any explicit flow classification.
I.e like SFQ it should fall back to a sensible flow matching. DRR and others
put everything in one flow, if no filters are used.
next prev parent reply other threads:[~2011-01-07 7:10 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-05 0:29 [RFC] sched: CHOKe packet scheduler Stephen Hemminger
2011-01-05 6:02 ` Eric Dumazet
2011-01-05 6:19 ` Eric Dumazet
2011-01-05 17:17 ` Stephen Hemminger
2011-01-05 17:25 ` Eric Dumazet
2011-01-05 19:21 ` [RFC] sched: CHOKe packet scheduler (v0.2) Stephen Hemminger
2011-01-05 20:06 ` Eric Dumazet
2011-01-05 20:15 ` Stephen Hemminger
2011-01-06 4:07 ` Eric Dumazet
2011-01-06 6:53 ` Stephen Hemminger
2011-01-07 4:55 ` Stephen Hemminger
2011-01-07 5:39 ` Changli Gao
2011-01-07 7:10 ` Stephen Hemminger [this message]
2011-01-07 8:37 ` Eric Dumazet
2011-01-10 13:46 ` Eric Dumazet
2011-01-10 17:31 ` Stephen Hemminger
2011-01-10 17:45 ` Eric Dumazet
2011-01-10 23:44 ` [RFC] sched: CHOKe packet scheduler (v0.4) Stephen Hemminger
2011-01-11 0:00 ` Eric Dumazet
2011-01-11 1:10 ` Stephen Hemminger
2011-01-11 6:18 ` Eric Dumazet
2011-01-11 6:34 ` Eric Dumazet
2011-01-11 23:48 ` Stephen Hemminger
2011-01-12 0:04 ` Eric Dumazet
2011-01-12 7:13 ` [RFC] sched: CHOKe packet scheduler (v0.6) Eric Dumazet
2011-01-12 17:27 ` Stephen Hemminger
2011-01-12 17:33 ` Eric Dumazet
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=20110106231036.0252641f@s6510 \
--to=shemminger@vyatta.com \
--cc=davem@davemloft.net \
--cc=eric.dumazet@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=xiaosuo@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.