从套接字手册页中可以看出,可以使用SO_TIMESTAMP
withsetsockopt
来测量 Linux 内核将接收到的网络数据包交给用户空间所花费的时间。
这里有一个很好的描述这个功能:测量内核和用户空间之间的 Linux 网络堆栈的延迟。
有没有办法在内核收到数据包时读取tsc
而不是读取?timeval
从套接字手册页中可以看出,可以使用SO_TIMESTAMP
withsetsockopt
来测量 Linux 内核将接收到的网络数据包交给用户空间所花费的时间。
这里有一个很好的描述这个功能:测量内核和用户空间之间的 Linux 网络堆栈的延迟。
有没有办法在内核收到数据包时读取tsc
而不是读取?timeval
不。
您可以合理要求的最多是struct timespec
时CLOCK_MONOTONIC
基。我不认为它存在,但添加它不会太难。