2014-01-16 58 views
1

我剛開始探索使用LTTng診斷網絡性能問題,它看起來像是一個很好的工具。我知道我可以獲得我可以用lttng list -k捕獲的事件列表,但我無法找到有關這些事件的含義的任何文檔。lttng內核事件的描述

例如,因爲我很感興趣的網絡應用程序的性能,它看起來像我感興趣的事件:

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。

如果事實證明文檔只是內核源代碼,那麼就這樣吧 - 但我不想深入瞭解,如果這個引用是在某處附近,我錯過了它。

+2

恐怕這裏唯一的文檔是源代碼。內核開發人員是那些添加跟蹤點的人員,他們不是那種編寫好的明顯文檔的人(除了Documentation /中的一些寶石)。添加跟蹤點的提交消息可能會解釋爲什麼它是有用的或必要的(那麼git blame將會是你的朋友)。 – simark

回答

2

我不知道你是否還有興趣,但只是爲了完成,netif_recieve_skb tracepoint是在內核中的netif_recieve_skb()函數。它基本上用於通知內核有一個數據包已被接收並位於套接字緩衝區中。它類似於netif_rx(),但應該只能被NAPI兼容的驅動程序使用。功能記錄中的跟蹤點可以看到here。基本上它只是一些相關的東西,從sk_buff結構。

相關問題