From: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
To: Joe Malicki <jmalicki@metacarta.com>
Cc: Andi Kleen <andi@firstfloor.org>,
David Miller <davem@davemloft.net>,
dada1@cosmosbay.com, denys@visp.net.lb, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, juhlenko@akamai.com,
sammy@sammy.net
Subject: Re: loaded router, excessive getnstimeofday in oprofile
Date: Sat, 30 Aug 2008 00:43:59 +0400 [thread overview]
Message-ID: <20080829204359.GA17515@2ka.mipt.ru> (raw)
In-Reply-To: <32566205.1357331220023286187.JavaMail.root@ouachita>
On Fri, Aug 29, 2008 at 11:21:26AM -0400, Joe Malicki (jmalicki@metacarta.com) wrote:
> > But didn't you really want a "end2end" time stamp in this case,
> > as in really at the end of all kernel/hardware queues on your side.
>
> No.
>
> That adds variance, and packets aren't comparable because they may
> suffer different kernel/hardware delays.
>
> The goal is to approximate original sendtime when the application-level
> timestamps are unreliable. The more queueing delays that can be
> taken out of the timestamp, the better.
Just a note from that one who really developed real-time audio and
video processing engines: _no_one_ really relies to the timestamps
attached to the received packet. By no one I really mean NO ONE. It is
ust wrong, broken and stupid. There are so many queues in the data
path, that it just can not be reliable by definition.
Instead sending path incapsulates packet sequence number into appropriate
packet header (like, and the most cases the only, RTP header), and
receiving path just multiplies this sequence number by the compression
rate and size of the packet. This numbers differ from design to design,
but overall approach is the same: no one really depends on the hardware
timestamp attached on the receiver, only sender's data is reliable.
If someone depends on it, it is broken and just waits for the
appropriate attack vector to inect broken data into the dataflow (such
users do not use tcp, since it "introduces unneded delays" or similar
marketing and compeltely untested things).
So this overall discussion of the timestamp option is meaningless: we
just bloody can not change it as is, since so many applications really
depend on it (even if they should not).
We can force lower resolution in terms of xtime or similar counter,
which will be default timestamp in case of some syscall (turned off by
default), but since so far no one sent a patch, this looks very subtle.
--
Evgeniy Polyakov
next prev parent reply other threads:[~2008-08-29 20:44 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-22 1:57 loaded router, excessive getnstimeofday in oprofile Denys Fedoryshchenko
2008-08-22 2:23 ` Denys Fedoryshchenko
2008-08-26 9:51 ` Jarek Poplawski
2008-08-26 10:29 ` Denys Fedoryshchenko
2008-08-26 10:47 ` Jarek Poplawski
2008-08-26 10:49 ` Denys Fedoryshchenko
2008-08-26 11:07 ` Jarek Poplawski
2008-08-26 11:15 ` Jarek Poplawski
2008-08-26 11:16 ` Denys Fedoryshchenko
2008-08-26 11:32 ` Jarek Poplawski
2008-08-26 11:32 ` Denys Fedoryshchenko
2008-08-26 20:14 ` Evgeniy Polyakov
2008-08-26 20:44 ` Eric Dumazet
2008-08-26 20:51 ` Evgeniy Polyakov
2008-08-27 12:09 ` Denys Fedoryshchenko
2008-08-27 12:36 ` Evgeniy Polyakov
2008-08-27 14:00 ` Denys Fedoryshchenko
2008-08-27 14:23 ` Evgeniy Polyakov
2008-08-27 12:54 ` Andi Kleen
2008-08-27 16:07 ` Rick Jones
2008-08-27 16:27 ` Andi Kleen
2008-08-27 16:49 ` Rick Jones
2008-08-27 16:56 ` Andi Kleen
2008-08-27 16:57 ` Rick Jones
2008-08-27 17:27 ` Eric Dumazet
2008-08-27 18:32 ` loaded router, excessive getnstimeofday in oprofile\ Andi Kleen
2008-08-27 22:23 ` David Miller
2008-08-27 22:38 ` Andi Kleen
2008-08-27 22:18 ` loaded router, excessive getnstimeofday in oprofile David Miller
2008-08-27 22:39 ` Andi Kleen
2008-08-28 0:45 ` Nick Piggin
2008-08-28 0:48 ` David Miller
2008-08-28 1:07 ` Nick Piggin
2008-08-27 16:17 ` Stephen Hemminger
2008-08-27 17:14 ` Jarek Poplawski
2008-08-27 21:34 ` David Miller
2008-08-28 2:39 ` Jason Uhlenkott
2008-08-28 3:10 ` David Miller
2008-08-28 6:28 ` Joe Malicki
2008-08-28 7:22 ` Andi Kleen
2008-08-28 15:02 ` Denys Fedoryshchenko
2008-08-28 19:01 ` Ilpo Järvinen
2008-08-28 19:31 ` David Miller
2008-08-28 16:48 ` Denys Fedoryshchenko
2008-08-28 16:56 ` Andi Kleen
2008-08-28 18:57 ` Eric Dumazet
2008-08-28 19:25 ` Denys Fedoryshchenko
2008-08-28 19:37 ` Eric Dumazet
2008-08-28 19:55 ` Denys Fedoryshchenko
2008-08-29 15:43 ` Stephen Hemminger
2008-08-28 19:36 ` David Miller
2008-08-28 19:59 ` Denys Fedoryshchenko
2008-08-29 15:21 ` Joe Malicki
2008-08-29 15:30 ` Andi Kleen
2008-08-29 15:43 ` Joe Malicki
2008-08-29 20:43 ` Evgeniy Polyakov [this message]
2008-08-28 18:00 ` Rick Jones
2008-08-28 19:42 ` David Miller
2008-08-28 20:29 ` Rick Jones
2008-08-28 20:32 ` David Miller
2008-08-28 20:45 ` Rick Jones
2008-08-28 20:47 ` David Miller
2008-09-01 2:39 ` Valdis.Kletnieks
2008-09-01 3:51 ` David Miller
2008-09-01 4:08 ` Valdis.Kletnieks
2008-09-01 4:10 ` David Miller
2008-09-02 17:04 ` Rick Jones
2008-08-28 3:35 ` Stephen Hemminger
2008-08-28 8:49 ` Denys Fedoryshchenko
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=20080829204359.GA17515@2ka.mipt.ru \
--to=johnpol@2ka.mipt.ru \
--cc=andi@firstfloor.org \
--cc=dada1@cosmosbay.com \
--cc=davem@davemloft.net \
--cc=denys@visp.net.lb \
--cc=jmalicki@metacarta.com \
--cc=juhlenko@akamai.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=sammy@sammy.net \
/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).