排队多个task_struct结构?

时间:2011-09-28 17:40:30

标签: linux process synchronization linux-kernel linux-device-driver

我想在我的块设备驱动程序中排队多个struct task_struct。这里,每个task_struct对应一个用户级别线程,该线程使用ioctl()系统调用将用户空间缓冲区发送到我的块设备驱动程序。一旦我排队多个task_struct,我想将它们保留在队列中,直到满足特定条件(即缓冲区已写入磁盘)。

所以,我的问题是,如何排队多个task_struct,让它们进入睡眠状态,然后在满足某些条件时唤醒排队task_struct的子集?

1 个答案:

答案 0 :(得分:0)

您可以根据需要多次调用kthread_create来创建新线程,然后在所需的任何线程子集上调用wake_up