看板 LinuxDev 關於我們 聯絡資訊
※ 引述《shihyu (shihyu)》之銘言: : 我想研究某段內核功能運作流程 : kernel 程式常常不是 function pointer 不然就是註冊或是中斷流程跑到很遠地方 : 用 printk 埋log太多有時候會讓kernel 掛掉 : 不知道大家有什麼好方法可以很方便分析出一個功能函數流程? : 我有找到ftrace 好像可以但我不確定, 有人是過嗎? : 目前是在 raspberry pi 練習 : 謝謝 RASPBERRY PI可以google ARM PMU (應該有支援) 網路上找一下 Streamline. 不過這有license server. 不知道有沒有software可以撈出gator dameon傳出的資料 其實這種東西也沒那麼好用 因為都要load symbols 通常很慢 裏頭的 call path可以看出呼叫call 的函數(應該沒有辦法看順序 因為這東西主要是performance counting,但可以大略看出呼叫到那些) 開的kernel config大概就是 CONFIG_PROFILING, CONFIG_TRACING , CONFIG_GENERIC_TRACER..etc 其實如果就function 呼叫而言, 除了function pointer kernel內就是work queue, timer lists等entry是註冊呼叫 時機到了就會呼叫到 , 這些呼叫才是你會討厭的東西 timer 有時會更改喚醒時間, work queue則是看你前面有多少個work queue jobs 這種不確定性的呼叫才是不好理解的(如同windows 上的DPC觀念) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.116.74.10 ※ 文章網址: https://www.ptt.cc/bbs/LinuxDev/M.1463678115.A.173.html ※ 編輯: clampsakura (122.116.74.10), 05/20/2016 01:16:49
awe31402: 個人偏好加 dump_stack(); 05/22 13:32