1

我刚刚开始探索使用 LTTng 来诊断网络性能问题,它看起来是一个很好的工具。我知道我可以获取可以使用lttng list -k捕获的事件列表,但我找不到任何有关事件含义的文档。

例如,因为我对应用程序的网络性能感兴趣,所以看起来我对事件感兴趣:

  net_dev_xmit (loglevel: TRACE_EMERG (0)) (type: tracepoint)
  net_dev_queue (loglevel: TRACE_EMERG (0)) (type: tracepoint)
  netif_receive_skb (loglevel: TRACE_EMERG (0)) (type: tracepoint)
  netif_rx (loglevel: TRACE_EMERG (0)) (type: tracepoint)

我几乎可以直观地知道net_dev_xmitnet_dev_queue之间的区别是什么,但是netif_recieve_skb是什么意思?

这是 Ubuntu 12.04 LTS。

如果事实证明该文档只是内核源代码,那么就这样吧——但我不想深入研究它,如果它的参考在某个地方并且我错过了它。

4

1 回答 1

2

不知道大家是否还有兴趣,只是为了补全,netif_recieve_skb tracepoint在内核的netif_recieve_skb()函数中。它主要用于通知内核一个数据包已被接收并在套接字缓冲区中。它与netif_rx()类似,但应该仅由符合 NAPI 的驱动程序使用。函数中的tracepoint记录的内容可以看这里。基本上它只是sk_buff结构中的一些相关内容。

于 2014-10-28T18:51:04.897 回答