ioctl驱动程序函数是否在linux 2.6下的原子上下文中执行?

Sea*_*nor 4 linux driver linux-device-driver linux-kernel embedded-linux

我正在跟踪我们的一个驱动程序中的"原子调度"错误,并且想知道ioctl是否是原子上下文.此外,如果任何人有任何关于如何进出原子上下文和它们发生的常见位置的分享,那将是有帮助的.

Ste*_*yle 9

不,ioctls通常在进程上下文中运行.如果驱动程序在ioctl处理期间抓取自旋锁,则驱动程序将进入原子上下文并保持原子上下文,直到它释放自旋锁.

有关Linux中原子上下文的详细讨论,请参阅:http://lwn.net/Articles/274695/