摘要:
软中断可以在不同CPU上同时运行,即使是同类型的软中断。它适合需要快速响应的处理函数,比如网络收发。tasklet不可以在不同CPU上同时运行(同类型,不同类型可以同时运行)。实现方法:在该tasklet上有个变量state,调度时,如果该state不是运行状态,将运行,并且将state设置为running状态,这样其它CPU不能同时运行该类型tasklet。避免了全局变量的锁要求。工作队列适合需要睡眠的任务,它将任务交给一个内核线程KSoftirq来处理,这个内核线程和基本进程类似,只不过它映射的内存空间是内核空间。参考资料:http://blog.csdn.net/zhuky/articl 阅读全文