1

我正在尝试学习如何为 linux 编写可加载的内核模块。我想知道是否有人可以告诉我这些功能sleep_on和作用wake_up是什么?

在我正在查看的示例中,&WaitQ总是传递给它们并且

static DECLARE_WAIT_QUEUE_HEAD(WaitQ);

在模块顶部声明。

4

1 回答 1

2

如果内核中的任务到达它想要使用资源的点并且被告知the resource is currently used by another task,它可以决定进入睡眠状态wake me up when the resource is available again。这基本上就是sleep_on 和wake_up 的处理。有关详细说明,请参见此处:http ://www.linuxtopia.org/online_books/Linux_Kernel_Module_Programming_Guide/x1032.html

于 2011-10-23T00:54:31.100 回答