KVMのtrace
[KVM]での処理時間を記録するためのKVMTraceという機能が、4月上旬に入った。
カーネルスペースvirt/kvm/kvm_trace.cとユーザスペースuser/kvm_trace.cが連携してイベントを収集する事が出来る。
仕組みとしては、キャラクタデバイス経由で、トレースの開始および中止を設定する。そして、Relay(旧Relayfs)でトレースデータをやり取りをする。
xentraceという[Xen]でのトレース機能があるが、それでのKVM版といった感じである。
違う点は、ざっと見たところ、TSCではなく、ナノ秒で処理時刻が取れることである。
もう少し、関連することとしては、日立の人が、VMとゲストをまとめてトレースをとる仕組みVESPERなどがある。
しかし、KVMのMakefileなど、結構適当というかやっつけ気味に出来ている。KVMのコード自体かなりパッチを作成する余地がかなり広い。もし、腕に覚えがあって、何か作ってみたいという人は、作ってみたら如何だろうか?
VESPER
http://ols.fedoraproject.org/OLS/Reprints-2008/kim1-reprint.pdf