async_schedule vs linux中的workqueue

时间:2013-08-04 13:03:44

标签: asynchronous linux-kernel

我正在寻找一些指导哪些案例使用什么机制。 更具体地说,我正试图在单元测试中创建碰撞。我想要多个上下文注入一堆请求来测试它。我已经看到了一个带有工作队列的例子,并用async_schedule创建了我自己的测试。所以我想知道哪种方法最适合这种情况以及为什么?

还将赞赏一些未来的指导方针。

我知道工作队列可以处理排队等候的多个任务。并且async_schedule很可能会为每个任务打开一个单独的kthread。

1 个答案:

答案 0 :(得分:3)

async_schedule internally uses workqueues.

您可以使用 create_singlethread_workqueue() 来实现相同的目标,即多个工作队列,每个队列都有自己的线程来执行“工作”。

chapter on workqueues from LDD3

中的更多详细信息