未来のいつか/hyoshiokの日記

hyoshiokの日々思うことをあれやこれや

Linux Collaboration Summit 2nd Day

2日目は技術セッションだ。アジェンダを参照のこと(http://events.linuxfoundation.org/events/collaboration-summit/agenda)

KernelShark

trace-cmdのフロントエンドのKernelSharkの紹介だった。グラフィカルにトレースデータを表示、分析する機能を持つ。

感想:trace-cmdの機能もどんどん充実していっているが、それにもまして、GUIでそのデータを表示、分析を支援するKernelSharkの機能はたいしたものだと思った。

dynamic tracing

日立の平松さんの講演である。2.6.33で導入されたperf toolの紹介である。
Linuxカーネルのイベントトレース機能は、(1)あらかじめ定義された固定的なイベント、(2)ハードウェアイベント、(3)動的に追加できるイベントがある。従来は(1)および(2)が主流であったが、kprobeの導入により(3)の機能が充実してきた。
kprobeは、ftraceやperf toolsによって利用される要素技術である。perf toolsは、カーネルデバッグ情報を利用して、シンボリックにトレース情報を設定できる。

感想:ダイナミックトレース技術はkprobeの実装によって使えるようになったが、それを使いこなすには、カーネルデバッグシンボル情報から、プローブを当てる場所を特定し、複雑(?)なドライバを書かないとカーネル情報を入手することは難しかった。今回紹介された、perf toolsを使えば、簡単にカーネルの任意の場所にプローブを設定し、各種情報を入手できる。
dtraceとの機能的な差分なども気になるところであるが、開発のスピードが速いので、早晩キャッチアップするのではないかと思った。

. get the latest -tip tree
. menuconfig
...kernel hacking
....CONFIG_FTRACE=y
.....CONFIG_KPROBE_EVENT=y
See Documentation/trace/kprobetrace.txt

uprobe

ユーザスペースのプローブ機能の紹介だった。utraceはptraceよりも速いそうなので、今後の開発に期待したい。
gdbへの適応などいろいろの可能性はありそうだ。

感想

個人的に興味のあったトレース関係のセッションに参加した。その他、インテルNokiaで推進するオープンソース版のテレフォニーであるMeeGOや仮想化技術などのセッションがあった。
ばりばりのカーネル開発者だけではなく、ユーザなどもいる感じである。なかなかいろいろな人がいておもしろいと思った。