【问题标题】:Descriptions of lttng kernel eventslttng 内核事件的描述
【发布时间】:2014-01-16 21:52:53
【问题描述】:

我刚刚开始探索使用 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。

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

【问题讨论】:

  • 这里的文档恐怕只有源代码了。内核开发人员是那些添加跟踪点的人,他们并不完全是那种编写漂亮的明显文档的人(除了 Documentation/ 中的一些宝石)。添加相关跟踪点的提交消息可能会解释为什么它有用或必要(那么 git blame 将成为您的朋友)。

标签: lttng


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2017-08-22
    • 2017-07-19
    • 2019-01-29
    • 1970-01-01
    • 2020-10-02
    • 2012-08-10
    • 2023-04-09
    • 2019-07-03
    • 2012-03-27
    相关资源
    最近更新 更多