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