我想在我的块设备驱动程序中排队多个struct task_struct
。这里,每个task_struct
对应一个用户级别线程,该线程使用ioctl()
系统调用将用户空间缓冲区发送到我的块设备驱动程序。一旦我排队多个task_struct
,我想将它们保留在队列中,直到满足特定条件(即缓冲区已写入磁盘)。
所以,我的问题是,如何排队多个task_struct
,让它们进入睡眠状态,然后在满足某些条件时唤醒排队task_struct
的子集?
答案 0 :(得分:0)
您可以根据需要多次调用kthread_create
来创建新线程,然后在所需的任何线程子集上调用wake_up
。