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);

GreenCloudVPS$20/年多国机房可选,1核@Ryzen 3950x/1GB内存/30GB NVMe/10Gbps端口月流量2TB

GreencloudVPS此次在四个机房都上线10Gbps大带宽VPS,并且全部采用AMD处理器,其中美国芝加哥机房采用Ryzen 3950x处理器,新加坡、荷兰阿姆斯特丹、美国杰克逊维尔机房采用Ryzen 3960x处理器,全部都是RAID-1 NVMe硬盘、DDR4 2666Mhz内存,GreenCloudVPS本次促销的便宜VPS最低仅需20美元/年,支持支付宝、银联和paypal。Gree...

buyvm美国大硬盘VPS,1Gbps带宽不限流量

buyvm正式对外开卖第四个数据中心“迈阿密”的块存储服务,和前面拉斯维加斯、纽约、卢森堡一样,依旧是每256G硬盘仅需1.25美元/月,最大支持10T硬盘。配合buyvm自己的VPS,1Gbps带宽、不限流量,在vps上挂载块存储之后就可以用来做数据备份、文件下载、刷BT等一系列工作。官方网站:https://buyvm.net支持信用卡、PayPal、支付宝付款,支付宝付款用的是加元汇率,貌似...

Spinservers美国圣何塞服务器$111/月流量10TB

Spinservers是Majestic Hosting Solutions,LLC旗下站点,主营美国独立服务器租用和Hybrid Dedicated等,数据中心位于美国德克萨斯州达拉斯和加利福尼亚圣何塞机房。TheServerStore.com,自 1994 年以来,它是一家成熟的企业 IT 设备供应商,专门从事二手服务器和工作站业务,在德克萨斯州拥有 40,000 平方英尺的仓库,库存中始终有...

queue_work为你推荐
awvawv转换器哪里下?star413CONVERSE和ALLSTAR有什么区别模式识别算法模式识别的简史天翼校园宽带电信校园宽带手机怎么上网审计平台什么是审计工具数据库界面如何创建数据库监控插件常见的监控软件有哪些软件开发技术文档软件开发项目中,过程管理文档都包括什么?翻译图片识别有那种根据图片识别上面的英文进行翻译的软件么?第三方支付系统第三方支付平台有哪些
过期备案域名查询 贝锐花生壳域名 fastdomain 美国主机网 vmsnap3 php探针 css样式大全 警告本网站 e蜗牛 好看qq空间 中国智能物流骨干网 河南移动邮件系统 gspeed 佛山高防服务器 1g空间 空间合租 33456 电信网络测速器 lamp的音标 xuni 更多