嵌入式Linux實時化技術(shù)
● 其他改進(jìn)
本文引用地址:http://www.ex-cimer.com/article/106458.htmLinux在用戶層支持性能良好的futex,實現(xiàn)原理類似于內(nèi)核優(yōu)先級繼承mutex,僅在產(chǎn)生競態(tài)時進(jìn)入內(nèi)核,提高了應(yīng)用程序性能。此外,實時搶占補(bǔ)丁內(nèi)核還提供mutex死鎖檢測、延遲跟蹤與測量、中斷關(guān)閉跟蹤與延遲測量、搶占延遲測量等內(nèi)核調(diào)試與診斷、內(nèi)核性能測量與調(diào)優(yōu)等工具、實時Trace支持( Ftrace)等支持。
現(xiàn)階段實時化技術(shù)在各體系結(jié)構(gòu)上逐漸得到了支持,如表1所示。
實時搶占內(nèi)核延遲
現(xiàn)階段,實時搶占補(bǔ)丁技術(shù)仍處于完善過程中,其表現(xiàn)在以下幾點不足。
● 中斷延遲
即使不發(fā)生中斷線程搶占,實時搶占內(nèi)核相對原來中斷服務(wù)機(jī)制額外增加一對上下文切換時間,用于喚醒中斷服務(wù)線程執(zhí)行和進(jìn)入睡眠狀態(tài)。此外,內(nèi)核中還存在少量用raw_spinlock鎖禁用中斷來保護(hù)的臨界區(qū),需要計算這些鎖造成的中斷延遲。
● 任務(wù)搶占延遲
內(nèi)核搶占延遲主要是由于在內(nèi)核中使用各種鎖機(jī)制用于控制任務(wù)和中斷對臨界區(qū)的訪問所造成的,特別是實時搶占內(nèi)核中為了避免優(yōu)先級逆轉(zhuǎn)增加的鎖機(jī)制帶來了額外時間負(fù)載。
● 內(nèi)核模塊其他延遲
在實時搶占補(bǔ)丁中,內(nèi)存管理模塊還需減少頁表錯誤引起的延遲,降低mlockall內(nèi)存鎖存造成的性能降級影響。實時搶占內(nèi)核中高精度定時器的使用導(dǎo)致了額外定時器管理時間負(fù)載。此外,內(nèi)核中一些驅(qū)動程序需要針對實時應(yīng)用進(jìn)行優(yōu)化來提高實時響應(yīng)。軟浮點處理和軟浮點內(nèi)核仿真需要和實時搶占補(bǔ)丁兼容,能耗管理子系統(tǒng)還需要具備實時系統(tǒng)感知能力。
實時搶占內(nèi)核性能測試
本文在Intel Pentium M 1.7GHz處理器上進(jìn)行了測試。測試環(huán)境包括:Linux內(nèi)核2.6.25.8最小配置;patch-2.6.25.8-rt7實時補(bǔ)丁;libc 2.5+和busybox-1.10.0構(gòu)建initrdfs方式的根文件系統(tǒng)。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論