軟中斷 tasklet 工作佇列

2021-10-06 22:42:13 字數 700 閱讀 4846

軟中斷

1 軟中斷作為下半部機制的代表,

2 是隨著smp(share memory processor)的出現應運而生的

3 軟中斷是tasklet實現的基礎(tasklet實際上只是在軟中斷的基礎上新增了一定的機制)。

4 軟中斷一般是「可延遲函式」的總稱

5 軟中斷可以在多個cpu上並行執行

6 軟中斷 可以併發執行在多個cpu上(即使同一型別的也可以)。所以軟中斷必須設計為可重入的函式(允許多個cpu同時操作),因此也需要使用自旋鎖來保其資料結構。

struct softirq_action;

描述每一種型別的軟中斷,其中void(*action)是軟中斷觸發時的執行函式。

tasklet

1 由於軟中斷必須使用可重入函式,這就導致設計上的複雜度變高,作為裝置驅動程式的開發者來說,增加了負擔。

2 一種特定型別的tasklet只能執行在乙個cpu上,不能並行,只能序列執行

3 軟中斷是靜態分配的,在核心編譯好之後,就不能改變。但tasklet就靈活許多,可以在執行時改變(比如新增模組時)。

軟中斷的資料結構不能 被任務排程器。 中斷上下文

工作佇列

1 可以執行 阻塞和睡眠 軟中斷跟tasklet 是不可以的。

2 併發性差,因為工作執行緒跟cpu是一 一繫結的。

參考於linux核心中的軟中斷、tasklet和工作佇列詳解

軟中斷 tasklet 工作佇列

深入理解linux核心 筆記4 軟中斷 tasklet 工作佇列 2009年06月02日 星期二 10 48 軟中斷 tasklet和工作佇列並不是linux核心中一直存在的機制,而是由更早版本的核心中的 下半部 bottom half 演變而來。下半部的機制實際上包括五種,但2.6版本的核心中,下...

軟中斷 tasklet 工作佇列

軟中斷 tasklet和工作佇列並不是linux核心中一直存在的機制,而是由更早版本的核心中的 下半部 bottom half 演變而來。下半部的機制實際上包括五種,但2.6版本的核心中,下半部和任務佇列的函式都消失了,只剩下了前三者。本文重點在於介紹這三者之間的關係。函式細節將不會在本文中出現,可...

軟中斷 tasklet和工作佇列

中斷機制的下半部實現機制 軟中斷 tasklet 工作佇列。軟中斷軟中斷適用於像網路這樣效能要求非常高的情況使用,可以再所有處理器上執行,兩個型別相同的軟中斷有可能被同時執行。軟中斷在編譯期間必須進行靜態註冊。軟中斷使用的比較少 軟中斷對時間要求比較嚴格,對加鎖要求高。如果需要擴充套件到多處理器執行...