linux内核设计与实现page127中有个比較,内容比較多。概括一下就是1. tasklet不能休眠, 2. 不须要休眠tasklet效率更高 3.有休眠仅仅能workqueue
(1)假设不须要休眠,选择tasklet会开销更小
(2)假设任务要推后非常多,须要休眠和延时。要使用workqueue,由于tasklet中不能够休眠(linux内核设计与实现page127)
(3)从效率上比較。workqueue须要内核线程的切换,效率没有tasklet高,像网络子系统、pcie子系统。须要更高效率的系统使用tasklet更适合