我正在追踪我们的一个驱动程序中的“原子调度”错误,并且想知道 ioctl 是否是原子上下文。此外,如果有人可以分享有关如何进入和退出原子上下文以及它们出现的常见位置的任何内容,那将很有帮助。
最佳答案
不,ioctl 通常在进程上下文中运行。如果驱动程序在 ioctl 处理过程中获取自旋锁,则驱动程序将进入原子上下文,并将保持在原子上下文中,直到它释放自旋锁。
参见:http://lwn.net/Articles/274695/对 Linux 中的原子上下文进行很好的讨论
关于linux - ioctl 驱动程序函数是从 linux 2.6 下的原子上下文执行的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3629128/