产生cpu的机制

时间:2012-12-19 09:49:37

标签: linux-kernel

我有一个创建kthread的模块。我希望这个kthread记录一些统计信息,然后产生cpu。它将在再次运行时记录统计信息。这样做的正确方法是什么?是

set_tsk_need_reched(task); 
schedule();

正确的方法吗? (似乎没有做我期望的事情)

1 个答案:

答案 0 :(得分:1)

如果我还记得Linux内核有一个yield()函数,可以用来自动将处理器控制传递给系统中的另一个线程(内核将决定自己接下来将运行什么线程)。一些说明:

  • 您需要从线程的上下文中调用yield()。
  • 之后您无需显式调用调度程序。 yield()代码将强制重新安排。