high resolution timer for packet timestamping

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I sent this to the more general linux-kernel mailing list, but perhaps
this is a better forum for my question.

This topic has been brought up before, but I'm wondering where the current
state of affairs is on this.

I have a need to perform high resolution timestamping on received packets
(traffic measurement).  I realize that interrupt latency may prevent me
from getting a truly accurate timestamp, but best effort here seems to be
better than not-so-best effort.

In the netif_rx() function of net/core/dev.c, the lines:

        if (skb->stamp.tv_sec == 0)
                get_fast_time(&skb->stamp);

could be replaced with something like:

        if (hires_rx_timestamp)
                do_gettimeofday(&skb->stamp);
        else
                get_fast_time(&skb->stamp);

where, say, "hires_rx_timestamp" is a sysctl tunable variable exposed via
/proc/sys/net/core/hires_rx_timestamp.

One of the drawbacks of this approach (I think) is that the runtime
configurable parameter has system level performance implications rather
than socket specific performance implications.

Alternatively, the high res timestamp can be done in the protocol layer,
but this makes it even further away from the device driver.

I'm at a bit of a loss regarding what the best approach is.  Would like
some feedback.  I'd be happy to submit a proper patch.

Thanks.

-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux