如何找到proc文件sys文件對應的內核函數
工作中, 經常會讀取proc或者sys目錄下的很多文件, 比如cat /proc/cmdline, cat /proc/uptime之類的, 有時候我們想看看對應的內核實現, 卻不知道從哪裏找起, 老司機們當然很容易從源代碼中根據經驗和某種規律找出來, 但是新手就困難得多. 下麵有一種辦法是很容易得獲得這些接口文件對應的內核函數
trace-cmd
trace-cmd record -p function_graph -g vfs_read cat /proc/cmdline ; trace-cmd report |vim -
會記錄內核從vfs_read這一層往下調用的所有函數過程, 就很容易找到了
很容易得看出就是vfs->proc_reg_read->cmdline_proc_show, 而且每一個函數的調用時間都有
其實關於調用時間, 加了trace以後, 是有很大影響的, 比如-g參數和-l參數就差很多, 因為-g每個函數都要跑trace代碼, 被trace的代碼本身就很快
最後更新:2017-07-05 14:02:36