4

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

set_tsk_need_reched(task); 
schedule();

这样做的正确方法?(似乎没有达到我的预期)

4

1 回答 1

1

如果我正确地记得 Linux 内核有一个 yield() 函数,它可以用来自愿地将处理器控制权传递给系统中的另一个线程(内核将自行决定接下来将运行哪个线程)。一些注意事项:

  • 您需要从线程的上下文中调用 yield() 。
  • 之后您无需显式调用调度程序。yield() 代码将自行强制重新调度。
于 2012-12-19T10:07:31.733 回答