从工作队列提交 BIO
我使用的是 2.6.39.1 版本的 Linux 内核。在我的块设备驱动程序中,我从中断处理程序的下半部分对一个 struct work_struct
进行排队,即在先前提交的 BIO 的 ->bi_end_io
函数中。然后工作队列处理函数提交下一个要处理的 BIO。当我们这样做时,系统会变得无响应。我们认为,在此设置中从工作队列处理函数调用 submit_bio()
导致了问题。有人可以解释一下这种情况下的问题是什么吗?
I'm using 2.6.39.1 version of the Linux kernel. In my block device driver, I'm queuing a struct work_struct
from the bottom half of the interrupt handler, i.e., in the ->bi_end_io
function of a previously submitted BIO. The work queue handler function then submits the next BIO to be processed. The system becomes unresponsive when we do this. We believe that calling submit_bio()
from our work queue handler function in this setup is causing the problem. Can someone explain what the problem is in this scenario?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论