From: Russell Stuart <russell-tcatm@stuart.id.au>
To: Patrick McHardy <kaber@trash.net>
Cc: hadi@cyberus.ca, netdev@vger.kernel.org,
David Miller <davem@davemloft.net>,
Jesper Dangaard Brouer <hawk@diku.dk>
Subject: Re: [PATCH REPOST 1/2] NET: Accurate packet scheduling for ATM/ADSL (kernel)
Date: Tue, 24 Oct 2006 07:54:04 +1000 [thread overview]
Message-ID: <1161640444.5502.214.camel@ras.pc.stuart.local> (raw)
In-Reply-To: <453CB801.4010902@trash.net>
On Mon, 2006-10-23 at 14:39 +0200, Patrick McHardy wrote:
> The implementation may be different, but the intention and the
> result is the same. I probably would mind less if it wouldn't
> affect userspace compatibility, but we need to carry this stuff
> for ever even if we add another implementation that covers all
> qdiscs.
So where is the overlap? Your patch will make qdiscs
that use packet length work with ATM. Ours makes the
rest, ie those that use Alexy's RTAB, work with ATM.
They would probably both apply with minimal conflicts.
You have previously said you have no intention of
changing the current RTAB implantation with your STAB
patch.
As an aside non-work conserving qdisc's that do
scheduling are the real targets of ATM patch. The
rest are not effected by ATM overly. The only one
of those that doesn't use Alexy's RTAB is the one you
introduced - HFSC. You are the best person to fix
things so HFSC does work with ATM, and that is what
I thought you were doing with the STAB patch.
> What do I need to explain further? As I stated several times,
> I would like to see a patch that handles all qdiscs. And it
> should probably not have hardcoded ATM values, there is other
> media that behaves similar.
I am not aware of other media that behaves in a similar
way, although I am no expert. What have I missed? The
hard coded ATM values don't effect this patch btw, they
are a user space thing only.
> >>Besides that:
> >>
> >>+static inline u32 qdisc_l2t(struct qdisc_rate_table* rtab, int pktlen)
> >>+{
> >>+ int slot = pktlen + rtab->rate.cell_align;
> >>+ if (slot < 0)
> >>+ slot = 0;
> >>
> >>Why would it go negative? A negative cell_align doesn't make sense I
> >>guess.
> >
> >
> > A negative cell align is possible, and in fact is typical.
> > If slot ended up being less than 0 then the configuration
> > parameters passed to "tc" would of been wrong - they could
> > not of matched the actual traffic. The error can't be
> > detected in "tc", but it can't be allowed to cause the
> > kernel to index off the end of an array either.
>
> I'm not sure I understand what you're saying here. The transmission
> time gets _smaller_ by transmitting over ATM? Does this have anything
> to do with the off-by-one during rate table calculation you or
> Jesper noticed?
There is nothing I would describe as an "off-by-one
error" in the RTAB calculation, so I can't be sure
what you are referring to. The packetisation done
by ATM does introduce rounding / truncation errors
of up to ((1 << cell_log) - 1). Negative cell
alignments is the easiest way to fix that.
> >>+ slot >>= rtab->rate.cell_log;
> >>+ if (slot > 255)
> >>+ return rtab->data[255] + 1;
> >>
> >>Whats the point of this? Is it just to keep htb giant statistics
> >>working?
> >
> >
> > Yes.
>
> TBF and policers already make sure this can never happen, this is
> what HTB should do as well. If it is also needed for CBQ it is
> a bugfix and should be done seperately.
OK. I will change it.
next prev parent reply other threads:[~2006-10-23 21:54 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-16 23:34 [PATCH REPOST 1/2] NET: Accurate packet scheduling for ATM/ADSL (kernel) Russell Stuart
2006-10-17 13:07 ` jamal
2006-10-19 3:41 ` David Miller
2006-10-19 14:38 ` Patrick McHardy
2006-10-20 0:49 ` jamal
2006-10-20 8:54 ` Patrick McHardy
2006-10-23 11:22 ` Russell Stuart
2006-10-23 12:39 ` Patrick McHardy
2006-10-23 21:54 ` Russell Stuart [this message]
2006-10-24 16:19 ` Patrick McHardy
2006-10-24 20:00 ` Jesper Dangaard Brouer
2006-10-24 23:46 ` Russell Stuart
2006-11-30 13:07 ` Patrick McHardy
2007-01-17 23:07 ` Russell Stuart
2007-01-18 4:05 ` Patrick McHardy
2007-01-18 6:16 ` Russell Stuart
[not found] ` <45AF5C02.1010005@trash.net>
2007-01-19 3:11 ` Russell Stuart
2007-01-19 12:19 ` Patrick McHardy
2007-01-20 3:25 ` Russell Stuart
2007-01-20 8:47 ` Patrick McHardy
2007-01-21 7:45 ` Russell Stuart
2007-01-24 16:38 ` Patrick McHardy
2007-01-24 22:32 ` Russell Stuart
2007-01-25 0:06 ` Patrick McHardy
2007-01-25 0:55 ` Russell Stuart
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=1161640444.5502.214.camel@ras.pc.stuart.local \
--to=russell-tcatm@stuart.id.au \
--cc=davem@davemloft.net \
--cc=hadi@cyberus.ca \
--cc=hawk@diku.dk \
--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).