【发布时间】:2011-11-17 05:47:19
【问题描述】:
我正在为 linux 创建一个内核模块。我想知道,我怎样才能阻止进程被安排在指定的时间? sched.c 中是否有可以执行此操作的函数?是否可以在某个定义的时间段内将特定的 task_struct 添加到等待队列中,或者对特定进程使用 schedule_timeout 之类的东西?
谢谢
【问题讨论】:
-
是的,这是可能的。看看 linux 内核互斥锁代码是如何做到这一点的。 cs.fsu.edu/~baker/devices/lxr/http/source/linux/kernel/…
-
我不确定 mutex.c 中那个函数的哪个部分完成了这个任务,我看不到一个函数需要一个 task_struct 和一个超时。如何将 task_struct 添加到等待队列?如果我能做到这一点,那么我可以对等待队列使用休眠功能并超时
-
要让当前任务休眠吗?还是您希望一项任务强制另一项任务进入休眠状态?
-
我觉得答案和这个问题一样:stackoverflow.com/questions/7695124/…
标签: linux-kernel kernel