2
據我所知有實施底半部在Linux的多種機制:的Linux底半搶佔
- 軟中斷
- taslket
- 工作隊列
- 螺紋IRQ(request_threaded_irq())
哪一個都具有可調度性的特點。 我從文獻中得不到的是他們的優先的可能性。什麼樣的任務可以搶佔各種不同的下半部分實現?
更具體地說,我對線程的irqs和workqueues感興趣。有多少人可以確信,一旦計劃完成一個線程IRQ或一個工作隊列在完成之前是不會被搶佔的,即一次運行?什麼類型的任務能夠搶佔他們?
例如,Robert Love開發的Linux內核說明只有上半部分可以搶佔softirqs,所以我會說softirqs在大多數時候完成一次(或者如果它們被搶佔,那隻會非常短時間)。
我的目標是定性評估兩個操作之間在同一個線程irq或workqueue之間的時間。特別是讀取i2c數據和讀取系統時鐘之間的時間。
謝謝。