繁体   English   中英

在Linux内核模块(驱动程序)关键部分等待用户空间输入

[英]Waiting in Linux Kernel Module(Driver) Critical Section for user-space input

我是内核编程的新手,并且正在Linux驱动程序中进行更改。 我想在关键部分中阻止/等待用户输入(驱动程序与用户空间应用程序工作之间的通信)。 问题是,当我使用wait_event_timeout()时,系统崩溃了,并且我得到了BUG: scheduling while atomic: swapper 有谁知道如何解决这个问题,可以给我一些建议从哪里开始?

其他问题所述 ,当您已获取一些锁(在关键部分内)时,您正在上下文中调用wait_event_timeout。 在这一点上,您的进程可能会与其他进程陷入僵局,并且调度程序会对此抱怨。 请检查调用wait_event_timeout的位置,并检查I / O是否在正确的位置执行,以及是否已解锁所有同步原语,然后再将进程发送到睡眠状态。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM