首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux工作队列是如何工作的?

Linux工作队列是如何工作的?
EN

Stack Overflow用户
提问于 2012-12-28 21:35:08
回答 1查看 1.3K关注 0票数 1

我是编写Linux设备驱动程序的新手,我正在尝试制作一个处理UART芯片的设备驱动程序。为此,我决定使用工作队列作为我的下半部分处理,因为在处理从UART芯片获得的数据时,我必须使用一些信号量。先前在中断中调度的工作队列处理程序现在得到执行,并且在执行期间它将在信号量处休眠。在此期间,再次调用中断处理程序,并调度相同的工作队列处理程序。在工作队列处理程序的第一次执行完成之前,是否会再次执行?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2012-12-30 05:06:19

工作队列的默认行为是允许在不同的CPU上并发执行。有一个标志WQ_NON_REENTRANT可以更改此行为。更多信息可以在这篇文章中找到http://lwn.net/Articles/403891/

但在最近的内核中,工作队列在缺省情况下似乎是不可重入的-请参阅http://lwn.net/Articles/511190

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14070350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档