免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: todayrw

底半部机制:tasklet、工作队列、软中断 [复制链接]

论坛徽章:
0
发表于 2009-04-30 15:01 |显示全部楼层

回复 #9 dreamice 的帖子

不好意思,老兄,你也幸苦了!怎么给你分啊?

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
发表于 2009-04-30 15:31 |显示全部楼层
原帖由 todayrw 于 2009-4-30 15:01 发表
不好意思,老兄,你也幸苦了!怎么给你分啊?


无所谓了,搞清楚就行了,分只能给一个人的,呵呵

论坛徽章:
0
发表于 2009-04-30 20:39 |显示全部楼层

回复 #12 dreamice 的帖子

谢谢!

论坛徽章:
0
发表于 2009-04-30 23:04 |显示全部楼层
lkd要看3遍

论坛徽章:
0
发表于 2009-05-05 15:00 |显示全部楼层

回复 #14 emmoblin 的帖子

第二遍刚完~~

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
发表于 2009-05-05 15:20 |显示全部楼层

回复 #15 shenxiaocheng 的帖子

看再多遍,还不如看懂了一遍

论坛徽章:
0
发表于 2010-04-23 16:59 |显示全部楼层
我也正在学习这个,收集如下资料,供参考:
在Linux2.6的内核中存在三种不同形式的下半部实现机制:软中断,tasklet和工作队列。
下面将比较三种机制的差别与联系。
软中断: 1、软中断是在编译期间静态分配的。
         2、最多可以有32个软中断。
         3、软中断不会抢占另外一个软中断,唯一可以抢占软中断的是中断处理程序。
         4、可以并发运行在多个CPU上(即使同一类型的也可以)。所以软中断必须设计为可重入的函数(允许多个CPU同时操作),
            因此也需要使用自旋锁来保护其数据结构。
         5、目前只有两个子系直接使用软中断:网络和SCSI。
         6、执行时间有:从硬件中断代码返回时、在ksoftirqd内核线程中和某些显示检查并执行软中断的代码中。
tasklet: 1、tasklet是使用两类软中断实现的:HI_SOFTIRQ和TASKLET_SOFTIRQ。
          2、可以动态增加减少,没有数量限制。
          3、同一类tasklet不能并发执行。
          4、不同类型可以并发执行。
          5、大部分情况使用tasklet。
工作队列: 1、由内核线程去执行,换句话说总在进程上下文执行。
          2、可以睡眠,阻塞。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP