1 软中断初识
我们还是从看得见的地方开始软中断的学习过程:
这个一对比就知道Linux系统中存在的软中断类型是固定的,代码也是预制好的。
其中与网络相关的是
- NET_TX_SOFTIRQ,
- NET_RX_SOFTIRQ,
基本的API函数
void open_softirq(int nr, void (*action)(struct softirq_action *));
void softirq_init(void);
void __raise_softirq_irqoff(unsigned int nr);
void raise_softirq_irqoff(unsigned int nr);
void raise_softirq(unsigned int nr);
软中断以open_softirq函数注册。使用raise_softirq触发。
已有软中断的注册:
(1)softirq_init@softirq.c
open_softirq(TASKLET_SOFTIRQ, tasklet_action);