-
LINUX內核網絡中的軟中斷KSOFTIRQD
1. 前言 之前分享過Linux內核網絡數據包的接收過程,當執行到網卡通過硬件中斷(IRQ)通知CPU,告訴它有數據來了,CPU會根據中斷表,調用已經注冊的中斷函數,這個中斷函數會調到驅動程序(NIC Driver)中相應的函數。驅動先禁用網卡的中斷,表示驅動程序已經知道內存中有數據了,告訴網卡下次再收到數據包直接寫內存就可以了,不要再通知CPU了,這樣可以提高效率,避免CPU不停的被中斷。 由于硬中斷處理程序執行的過程中不能被中斷,所以如果它執行時間過長,會導致CPU沒法響應其它硬件的中斷,于…