From: Eric Dumazet <eric.dumazet@gmail.com>
To: Mark Gordon <msg@google.com>
Cc: Hagen Paul Pfeifer <hagen@jauu.net>,
David Miller <davem@davemloft.net>,
netdev <netdev@vger.kernel.org>,
Yuchung Cheng <ycheng@google.com>,
Andreas Terzis <aterzis@google.com>
Subject: Re: [PATCH] netem: fix rate extension and drop accounting
Date: Tue, 17 Jul 2012 19:39:33 +0200 [thread overview]
Message-ID: <1342546773.2626.909.camel@edumazet-glaptop> (raw)
In-Reply-To: <CAPVr9VMCYFO-7uEzO6ft2vpPhVvRgHB3EWJJG62OqGqux1LsZQ@mail.gmail.com>
Please Mark :
1) Dont top post on netdev
2) Dont write HTML mails on netdev (your mail never went to netdev,
only to CCed people). Only text mails are allowed.
On Tue, 2012-07-17 at 10:20 -0700, Mark Gordon wrote:
> Even the static delay case seems wrong with the new patch. Assume all
> packets have the same sched_time. Then if you spam packets that get
> processed at the same time by netem they will all get scheduled with
> the same time_to_send because the first packet will get time_to_send
> of [1] = clock_time + sched_time. Then packet n compute 'now' as
> [n-1] and delay as sched_time - (clock_time - [1]) = 0 so that [n] =
> [n-1]. Therefore every packet gets scheduled at the same time.
>
>
> The above modification seems to fix the issue when latency/jitter is 0
> but suffers from a missing non-linearity when delay is present. Is
> there a technical reason I'm missing that prevents us from doing rate
> and latency here? Why wouldn't the 'official' patch have correct
> rate?
Because delay is variable (jitter)
netem as is is not working correctly if you have both a rate limit and
delay.
Hagen is working on a solution, but there is no easy fix.
The right solution is to have :
1) A rate stage, using a child qdisc (that you can graft to install your
own qdisc hierarchy if needed, say if you want codel or fq_codel ;))
Thats basically a TBF...
2) skb orphan
3) drops/reorders/corrupt/additional delay (variable delay)
using an internal tfifo, to mimic real networks behavior.
Thats the reverse of how its currently done.
Alternatively, this could be implemented as a special network device,
like bonding, instead of a qdisc.
prev parent reply other threads:[~2012-07-17 17:39 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-03 9:25 [PATCH] netem: fix rate extension and drop accounting Eric Dumazet
2012-07-03 9:54 ` Eric Dumazet
2012-07-03 22:04 ` Hagen Paul Pfeifer
2012-07-04 5:58 ` Eric Dumazet
2012-07-04 16:51 ` Hagen Paul Pfeifer
2012-07-04 17:23 ` Eric Dumazet
2012-07-04 17:30 ` Hagen Paul Pfeifer
[not found] ` <CAPVr9VP7DniPZj4vZi_myJWfL5JLYKYTXXtrXcKHo9LjEQzjYw@mail.gmail.com>
2012-07-16 23:26 ` Hagen Paul Pfeifer
2012-07-17 5:12 ` Eric Dumazet
[not found] ` <CAPVr9VMCYFO-7uEzO6ft2vpPhVvRgHB3EWJJG62OqGqux1LsZQ@mail.gmail.com>
2012-07-17 17:39 ` Eric Dumazet [this message]
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=1342546773.2626.909.camel@edumazet-glaptop \
--to=eric.dumazet@gmail.com \
--cc=aterzis@google.com \
--cc=davem@davemloft.net \
--cc=hagen@jauu.net \
--cc=msg@google.com \
--cc=netdev@vger.kernel.org \
--cc=ycheng@google.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox