queue_workLinux 工作队列 的 INIT_WORK 跟 DECLARE_WORK 到底是3个参数还是2个参数?

queue_work  时间:2021-06-08  阅读:()

linux内核的工作队列任务没处理完又来一个任务怎么办?工作对列到底是个什么玩意?

来任务就加入到工作队列里了.你说的这个工作队列很模糊.........因为linux里有很多"工作队列"..................叫法虽然相同.但是概念不一样.....

tasklet 和 workqueue 有何区别

区别是: 一、中断处理的tasklet(小任务)机制 中断服务程序一般都是在中断请求关闭的条件下执行的,以避免嵌套而使中断控制复杂化。

但是,中断是一个随机事件,它随时会到来,如果关中断的时间太长,CPU就不能及时响应其他的中断请求,从而造成中断的丢失。

因此,Linux内核的目标就是尽可能快的处理完中断请求,尽其所能把更多的处理向后推迟。

例如,假设一个数据块已经达到了网线,当中断控制器接受到这个中断请求信号时,Linux内核只是简单地标志数据到来了,然后让处理器恢复到它以前运行的状态,其余的处理稍后再进行(如把数据移入一个缓冲区,接受数据的进程就可以在缓冲区找到数据)。

因此,内核把中断处理分为两部分:上半部half)和下半部(bottomhalf),上半部(就是中断服务程序)内核立即执行,而下半部(就是一些内核函数)留着稍后处理,首先,一个快速的“上半部”来处理硬件发出的请求,它必须在一个新的中断产生之前终止。

通常,除了在设备和一些内存缓冲区(如果你的设备用到了DMA,就不止这些)之间移动或传送数据,确定硬件是否处于健全的状态之外,这一部分做的工作很少。

下半部运行时是允许中断请求的,而上半部运行时是关中断的,这是二者之间的主要区别。

二、中断处理的工作队列机制 工作队列(work queue)是另外一种将工作推后执行的形式,它和前面讨论的tasklet有所不同。

工作队列可以把工作推后,交由一个内核线程去执行,也就是说,这个下半部分可以在进程上下文中执行。

这样,通过工作队列执行的代码能占尽进程上下文的所有优势。

最重要的就是工作队列允许被重新调度甚至是睡眠。

那么,什么情况下使用工作队列,什么情况下使用tasklet。

如果推后执行的任务需要睡眠,那么就选择工作队列。

如果推后执行的任务不需要睡眠,那么就选择tasklet。

另外,如果需要用一个可以重新调度的实体来执行你的下半部处理,也应该使用工作队列。

它是唯一能在进程上下文运行的下半部实现的机制,也只有它才可以睡眠。

这意味着在需要获得大量的内存时、在需要获取信号量时,在需要执行阻塞式的I/O操作时,它都会非常有用。

如果不需要用一个内核线程来推后执行工作,那么就考虑使用tasklet。

Linux 工作队列 的 INIT_WORK 跟 DECLARE_WORK 到底是3个参数还是2个参数?

INIT_WORK(structwork_struct *work, work_func_t func); INIT_DELAYED_WORK(structdelayed_work *work, work_func_t func);

ucloud香港服务器优惠活动:香港2核4G云服务器低至358元/年,968元/3年

ucloud香港服务器优惠降价活动开始了!此前,ucloud官方全球云大促活动的香港云服务器一度上涨至2核4G配置752元/年,2031元/3年。让很多想购买ucloud香港云服务器的新用户望而却步!不过,目前,ucloud官方下调了香港服务器价格,此前2核4G香港云服务器752元/年,现在降至358元/年,968元/3年,价格降了快一半了!UCloud活动路子和阿里云、腾讯云不同,活动一步到位,...

2021年国内/国外便宜VPS主机/云服务器商家推荐整理

2021年各大云服务商竞争尤为激烈,因为云服务商家的竞争我们可以选择更加便宜的VPS或云服务器,这样成本更低,选择空间更大。但是,如果我们是建站用途或者是稳定项目的,不要太过于追求便宜VPS或便宜云服务器,更需要追求稳定和服务。不同的商家有不同的特点,而且任何商家和线路不可能一直稳定,我们需要做的就是定期观察和数据定期备份。下面,请跟云服务器网(yuntue.com)小编来看一下2021年国内/国...

轻云互联-618钜惠秒杀,香港CN2大宽带KVM架构云服务器月付22元,美国圣何塞精品云月付19元爆款!海量产品好货超值促销进行中!

官方网站:点击访问青云互联活动官网优惠码:终身88折扣优惠码:WN789-2021香港测试IP:154.196.254美国测试IP:243.164.1活动方案:用户购买任意全区域云服务器月付以上享受免费更换IP服务;限美国区域云服务器凡是购买均可以提交工单定制天机防火墙高防御保护端口以及保护模式;香港区域购买季度、半年付、年付周期均可免费申请额外1IP;使用优惠码购买后续费周期终身同活动价,价格不...

queue_work为你推荐
chinapay贝宝和支付宝的区别mac地址克隆无线路由器mac地址克隆有什么用处?视频技术视频监控技术的定义及特点人肉搜索引擎人肉搜索引擎是干什么的?模式识别算法机器学习和模式识别有什么区别?看教材,发现它们的算法都差不多一样啊。。。腾讯技术腾讯QQ是谁研发的?在那一年上市的?天翼校园宽带天翼校园宽带 是怎么算时间的 一个月 是指从办理那天开始 往后 30天是一个月吗 还是 办理的那天所在的那个币众筹众筹有哪几种 众筹如何实现回报什么是生态系统生态系统的功能有什么?谷歌图片识别如何打开PICASA头像识别功能?
新网域名管理 樊云 kvmla 哈喽图床 京东商城双十一活动 本网站在美国维护 美国十次啦服务器 京东商城0元抢购 阿里云浏览器 免空 softbank邮箱 nerds 国外免费asp空间 国内域名 qq金券 域名和主机 移动王卡 腾讯云平台 俄勒冈州 日本小学生 更多