socket man page中可以看出,可以将SO_TIMESTAMPsetsockopt一起使用
测量Linux内核将接收到的网络数据包交给用户空间所花费的时间。

此处对此功能有很好的描述:Measuring latency in the Linux network stack between kernel and user space

在内核收到数据包时,有什么方法可以读取tsc而不是timeval吗?

最佳答案

不。

  • 特定于平台。
  • TSC可以更改某些(P4-era)处理器上的频率,并且历来没有在内核之间进行同步(某些现代CPU在同一程序包的内核之间进行同步)。
  • 理想情况下,无论如何,您都希望网卡为数据包加上时间戳。 PTP通常需要这样做才能达到目标精度。

  • 您可以合理要求的最大数量是struct timespec时基中的CLOCK_MONOTONIC。我认为它不存在,但是添加起来不会太困难。

    关于linux - SO_TIMESTAMP for tsc not timeval?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15262492/

    10-12 05:22