日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > Linux閱碼場
[導(dǎo)讀]在Linux系統(tǒng)中作為一個普通線程是非常苦逼的。不僅NMI、硬中斷、軟中斷可以打斷它,甚至其它普通線程也可以來打斷干擾到它的運行。如果沒有這些打斷事件,一個普通線程執(zhí)行while循環(huán),可以high過天際。這些打斷事件對一個普通線程來說,就相當(dāng)于噪音一樣的存在。從Linux5.14...

在Linux系統(tǒng)中作為一個普通線程是非常苦逼的。不僅NMI 、硬中斷、軟中斷可以打斷它,甚至其它普通線程也可以來打斷干擾到它的運行。



如果沒有這些打斷事件,一個普通線程執(zhí)行while循環(huán),可以high過天際。這些打斷事件對一個普通線程來說,就相當(dāng)于噪音一樣的存在。




從Linux 5.14-rc1開始引入了一個新的tracer---(osnoise tracer)。就是從一個線程thread的角度把這些噪音全部詳細(xì)統(tǒng)計出來。





上圖中 在1秒內(nèi)普通線程(pid=98) 受到的各個干擾事件的次數(shù)和cpu available百分比等都可以顯示出來。




統(tǒng)計到這個程度,感覺還是不夠詳細(xì)。 可以打開osnoise對應(yīng)的trace event.




上面的interference 5說明在一個采樣周期內(nèi)被打斷了5次(包括4次中斷和一次a.out線程事件產(chǎn)生的噪音),上面的每一次打斷都有事件名稱和對應(yīng)的時間統(tǒng)計:


1232 1222 1192 1262 3994882=4000242-452 (~4000242)


統(tǒng)計時間等于4000242ns 因為包含了檢查代碼的時間時間。



代碼實現(xiàn):


在以上每個打斷事件處理函數(shù)中都插上trace event的鉤子函數(shù) 來統(tǒng)計事件的執(zhí)行時間,然后在每個cpu上運行一個內(nèi)核線程進(jìn)行周期性統(tǒng)計.




這個強(qiáng)大的osnoise tracer使用到的技術(shù)僅僅是用到了tracer event提供的基礎(chǔ)設(shè)施。




我在閱碼場發(fā)布過一個視頻課程,對linux系統(tǒng)中各個tracer的使用和代碼實現(xiàn)都有非常詳細(xì)的講解:




---end---



本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉