From: Patrick McHardy <kaber@trash.net>
To: Russell Stuart <russell-tcatm@stuart.id.au>
Cc: hadi@cyberus.ca, Alan Cox <alan@lxorguk.ukuu.org.uk>,
Stephen Hemminger <shemminger@osdl.org>,
netdev@vger.kernel.org, Jesper Dangaard Brouer <hawk@diku.dk>
Subject: Re: [PATCH 0/2] NET: Accurate packet scheduling for ATM/ADSL
Date: Fri, 23 Jun 2006 17:21:07 +0200 [thread overview]
Message-ID: <449C06E3.3090406@trash.net> (raw)
In-Reply-To: <1151066247.4217.254.camel@ras.pc.brisbane.lube>
Russell Stuart wrote:
> On Thu, 2006-06-22 at 14:29 -0400, jamal wrote:
>
> On Tue, 2006-06-20 at 03:04 +0200, Patrick McHardy wrote:
>
>>What about qdiscs like SFQ (which uses the packet size in quantum
>>calculations)? I guess it would make sense to use the wire-length
>>there as well.
>
>
> Being pedantic, SQF automatically assigns traffic to classes
> and gives each class an equal share of the available bandwidth.
> As I am sure you are aware SQF's trick is that it randomly
> changes its classification algorithm - every second in the Linux
> implementation. If there are errors in rate calculation this
> randomisation will ensure they are distributed equally between
> the classes as time goes on. So no, accurate packets sizes are
> not that important to SQF.
>
> But they are important to many other qdiscs, and I am sure
> that was your point. SQF just happened to be a bad example.
Not really. The randomization doesn't happen by default, but it doesn't
influence this anyway. SFQ allows flows to send up to "quantum" bytes
at a time before moving on to the next one. A flow that sends 75 * 20
byte will in the eyes of SFQ use 1500bytes, on the (ethernet) wire it
needs 4800bytes. A flow that sents 1500byte packets will only need
1504 bytes on the wire, but will be treated equally. So it does make
a different for SFQ.
> On Tue, 2006-06-20 at 16:45 +0200, Patrick McHardy wrote:
>
>>Handling all qdiscs would mean adding a pointer to a mapping table
>>to struct net_device and using something like "skb_wire_len(skb, dev)"
>>instead of skb->len in the queueing layer. That of course doesn't
>>mean that we can't still provide pre-adjusted ratetables for qdiscs
>>that use them.
>
>
> Yes, that would work well, and is probably how it should of
> been done when the kernel stuff was originally written. As
> it happens Jesper's original solution was closer to this. The
> reason we choose not to go that way it is would change the
> kernel-userspace API. The current patch solves the problem
> and works well as possible on all kernel versions - both
> patched and unpatched.
Not a problem as long as the new stuff doesn't break anything existing.
My patch introduces a TCA_STAB (for size table), similar to the _RTAB
attributes. Old iproute with new kernel and new iproute with old kernel
both work fine.
> Now that I think about to change things the way you suggest
> here does seem simple enough. But it probably belongs in a
> different patch. We wrote this patch to fix a specific problem
> with ATM links, and it should succeed or fail on the merits
> of doing that. Cleaning up the kernel code to do what you
> suggest is a different issue. Let whether it to should be
> done, or not, be based on its own merits.
Its not about cleanup, its about providing the same capabilities
to all qdiscs instead of just a few selected ones and generalizing
it so it is also usable for non-ATM overhead calculations.
next prev parent reply other threads:[~2006-06-23 15:21 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-14 9:40 [PATCH 0/2] NET: Accurate packet scheduling for ATM/ADSL Jesper Dangaard Brouer
2006-06-14 12:06 ` jamal
2006-06-14 12:55 ` Jesper Dangaard Brouer
2006-06-15 12:57 ` jamal
2006-06-15 13:16 ` jamal
2006-06-20 1:04 ` Patrick McHardy
2006-06-20 14:59 ` jamal
2006-06-20 15:16 ` Patrick McHardy
2006-06-21 12:21 ` Krzysztof Matusik
2006-06-21 12:54 ` Patrick McHardy
2006-06-21 14:33 ` Krzysztof Matusik
2006-06-14 15:32 ` Andy Furniss
2006-06-20 0:54 ` Patrick McHardy
2006-06-20 14:56 ` jamal
2006-06-20 15:09 ` Patrick McHardy
2006-06-22 18:41 ` jamal
2006-06-23 14:32 ` Patrick McHardy
2006-06-24 14:39 ` jamal
2006-06-26 11:21 ` Patrick McHardy
2006-06-27 13:01 ` jamal
2006-07-02 4:23 ` Patrick McHardy
2006-07-02 13:59 ` jamal
[not found] ` <1150287983.3246.27.camel@ras.pc.brisbane.lube>
[not found] ` <1150292693.5197.1.camel@jzny2>
[not found] ` <1150843471.17455.2.camel@ras.pc.brisbane.lube>
[not found] ` <15653CE98281AD4FBD7F70BCEE3666E53CD54A@comxexch01.comx.local>
[not found] ` <1151000966.5392.34.camel@jzny2>
2006-06-23 12:37 ` Russell Stuart
2006-06-23 15:21 ` Patrick McHardy [this message]
2006-06-26 0:45 ` Russell Stuart
2006-06-26 11:10 ` Patrick McHardy
2006-06-27 6:19 ` Russell Stuart
2006-06-27 17:18 ` Patrick McHardy
2006-07-04 13:29 ` Patrick McHardy
2006-07-04 19:29 ` jamal
2006-07-04 23:53 ` Patrick McHardy
2006-07-06 0:39 ` Russell Stuart
2006-07-07 8:00 ` Patrick McHardy
2006-07-10 8:44 ` Russell Stuart
2006-06-24 14:13 ` jamal
2006-06-26 4:23 ` Russell Stuart
2006-07-18 2:06 ` Russell Stuart
2006-07-18 13:35 ` jamal
2006-07-18 21:46 ` Andy Furniss
2006-07-19 1:02 ` Russell Stuart
2006-07-19 14:42 ` Andy Furniss
2006-07-19 14:54 ` Patrick McHardy
2006-07-19 20:26 ` [PATCH 0/2] NET: Accurate packet scheduling for ATM/ADSL (RTAB BUG) Jesper Dangaard Brouer
2006-07-19 21:00 ` Alexey Kuznetsov
2006-07-20 5:47 ` Russell Stuart
2006-07-20 23:49 ` Alexey Kuznetsov
2006-07-19 14:50 ` [PATCH 0/2] NET: Accurate packet scheduling for ATM/ADSL Patrick McHardy
2006-07-20 4:56 ` Russell Stuart
2006-07-30 23:06 ` Russell Stuart
2006-08-08 22:01 ` Russell Stuart
2006-08-09 11:33 ` jamal
2006-09-04 10:37 ` Russell Stuart
2006-06-14 14:27 ` Phillip Susi
2006-06-14 15:08 ` Jesper Dangaard Brouer
2006-06-20 5:35 ` Chris Wedgwood
2006-06-20 7:33 ` Jesper Dangaard Brouer
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=449C06E3.3090406@trash.net \
--to=kaber@trash.net \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=hadi@cyberus.ca \
--cc=hawk@diku.dk \
--cc=netdev@vger.kernel.org \
--cc=russell-tcatm@stuart.id.au \
--cc=shemminger@osdl.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).