Re: CLOCK_MONOTONIC datagram timestamps by the kernel

From: Stephen Hemminger
Date: Thu Mar 01 2007 - 13:54:24 EST


On Thu, 1 Mar 2007 12:30:50 +0100
Eric Dumazet <dada1@xxxxxxxxxxxxx> wrote:

> On Wednesday 28 February 2007 17:07, John wrote:
>
> >
> > Consider an idle Linux 2.6.20-rt8 system, equipped with a single PCI-E
> > gigabit Ethernet NIC, running on a modern CPU (e.g. Core 2 Duo E6700).
> > All this system does is time stamp 1000 packets per second.
> >
> > Are you claiming that this platform *cannot* handle most packets within
> > less than 1 microsecond of their arrival?
>
> Yes I claim it.
>
> You expect too much of this platform, unless "most" means 10 % for
> you ;)
>
> If you replace "1 us" by "50 us", then yes, it probably can do it, if "most"
> means 99%, (not 99.999 %)
>
> Anyway, if you want to play, you can apply this patch on top of
> linux-2.6.21-rc2 (nanosecond resolution infrastruture needs 2.6.21)
> I let you do the adjustments for rt kernel.
>
> I compiled it on my i386 machine, and tested it with a patched libpcap/tcpdump
>
> [PATCH] NET : introduce nanosecond time infrastructure and SIOCGSTAMPNS
>
> It appears some machines are *really* fast and that micro second resolution is
> a limiting factor.
>
> This patch converts sk_buff timestamp to use new nanosecond infra (added in
> 2.6.21), and introduces a new ioctl SIOCGSTAMPNS to let applications access
> nanosecond resolution (ie a timespec instead of timeval)
>
>
> Signed-off-by: Eric Dumazet <dada1@xxxxxxxxxxxxx>
>

You probably want to add a SO_TIMESTAMPNS setsockopt() value like existing SO_TIMESTAMP

Also use NSEC_PER_USEC rather than hardcoded 1000.


--
Stephen Hemminger <shemminger@xxxxxxxxxxxxxxxxxxxx>
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html