只是想運(yùn)行kvm_service_time.stp

只是想運(yùn)行一下kvm_service_time.stp,提示這個錯誤:

semantic error: while resolving probe point: identifier 'kernel' at ./kvm_service_time.stp:25:7 source: probe kernel.trace("kvm_exit")

探針kernel.trace("kvm_exit")不存在,運(yùn)行命令:stap -vl 'kernel.trace("*")'。發(fā)現(xiàn)確實(shí)沒有kvm_exit。現(xiàn)在面臨兩個選擇:尋找systemtap,kernel.trace的原理,看看如何獲得kernel的trace信息。另一個選擇:直接進(jìn)入內(nèi)核查看kvm_exit。我決定選擇后者。

在kvm_service_time.stp中,我發(fā)現(xiàn)了頭文件:vmx.h。里面定義了exit reason的類型。這個應(yīng)該是關(guān)鍵,運(yùn)行命令:find /usr -name 'vmx.h'。獲得如下信息:

/usr/include/x86_64-linux-gnu/asm/vmx.h

在內(nèi)核源碼中運(yùn)行命令:grep -nr 'include <asm/vmx.h>' ./。獲得如下信息:

./tools/arch/x86/include/uapi/asm/kvm_perf.h:5:#include

./tools/perf/arch/x86/util/kvm-stat.c:3:#include

./arch/x86/include/uapi/asm/kvm_perf.h:5:#include

./arch/x86/include/asm/virtext.h:20:#include

./arch/x86/kvm/vmx.c:42:#include ?

./arch/x86/kvm/mmu.c:47:#include

./arch/x86/kvm/trace.h:5:#include

arch/x86/kvm/trace.h看起來像我要的東西。kvm trace的用法

為什么對trace這么感興趣,因?yàn)閠race其實(shí)就是探針(具體請看“工作中什么能力最重要”)。這個也許就是理解原理的一條捷徑!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • make menuconfig過程解析作者 codercjg 在 28 九月 2015, 5:27 下午 make...
    codercjg閱讀 997評論 0 1
  • 前言 隨著云計算技術(shù)與服務(wù)的發(fā)展和進(jìn)步,越來越多的客戶選擇將業(yè)務(wù)部署到云端。但由于引入了虛擬化層,在業(yè)務(wù)部署過程中...
    UCloud云計算閱讀 1,449評論 0 2
  • 性能調(diào)優(yōu)工具如 perf,Oprofile 等的基本原理都是對被監(jiān)測對象進(jìn)行采樣,最簡單的情形是根據(jù) tick 中...
    abeb6ca9bb86閱讀 10,749評論 2 15
  • 今天是育嬰師培訓(xùn)的第一天,為我們授課的是柏馨教育的蘇曼老師,老師很優(yōu)秀很專業(yè),講的知識也是我特別感興趣的,可是我...
    日光傾城_625c閱讀 202評論 0 0
  • 以前很是迷信微信里面的塔羅,星盤,八字的大神。后來,久病成醫(yī),自己開始研究琢磨,梅花易數(shù)也好,八字也好,到現(xiàn)在的...
    鳳筱紫霄閱讀 168評論 0 0