linux softirq 原始碼 筆記

2021-06-05 18:21:48 字數 955 閱讀 4846

asmlinkage void do_softirq(void)

asmlinkage void __do_softirq(void)

h++;

pending >>= 1;

} while (pending);

local_irq_disable();

pending = local_softirq_pending();

if (pending && --max_restart)

goto restart;

if (pending)

wakeup_softirqd();

trace_softirq_exit();

account_system_vtime(current);

_local_bh_enable();

}

1.當乙個終端處理程式正在執行時,相應的irq中斷線上再發出的訊號就會被忽略
2.#define asmlinkage __attribute__((regparm(0))) 

函式定義前加巨集asmlinkage ,表示這些函式通過堆疊而不是通過暫存器傳遞引數。

gcc編譯器在彙編過程中呼叫c語言函式時傳遞引數有兩種方法:一種是通過堆疊,另一種是通過暫存器。預設時採用暫存器,假如你要在你的彙編過程中呼叫c語言函式,並且想通過堆疊傳遞引數,你定義的c函式時要在函式前加上巨集asmlinkage。

《原始碼閱讀》原始碼閱讀技巧,原始碼閱讀工具

檢視某個類的完整繼承關係 選中類的名稱,然後按f4 quick type hierarchy quick type hierarchy可以顯示出類的繼承結構,包括它的父類和子類 supertype hierarchy supertype hierarchy可以顯示出類的繼承和實現結構,包括它的父類和...

Cartographer原始碼篇 原始碼分析 1

在安裝編譯cartographer 1.0.0的時候,我們可以看到 主要包括cartorgarpher ros cartographer ceres sover三個部分。其中,ceres solver用於非線性優化,求解最小二乘問題 cartographer ros為ros平台的封裝,獲取感測器資料...

python原始碼剖析 Python原始碼剖析

第頁共 頁python 原始碼剖析 物件機制 1.物件 在python 的世界中,一切都是物件,乙個整數是乙個物件,乙個字串也是 乙個物件,更為奇妙的是,型別也是乙個物件,整數型別是乙個物件,字串類 型也是乙個物件。從 年guido 在那個聖誕節揭開 python 世界的大幕開始,一直到現在,pyt...