Очередь нескольких структур task_struct? - PullRequest
0 голосов
/ 28 сентября 2011

Я бы хотел поставить в очередь несколько struct task_struct в драйвере блочного устройства. Здесь каждый task_struct будет соответствовать потоку пользовательского уровня, который использует системный вызов ioctl() для отправки буфера пользовательского пространства в мой драйвер блочного устройства. Как только я поставлю в очередь несколько task_struct с, я бы хотел оставить их в очереди, пока не будет выполнено определенное условие (т. Е. Буфер будет записан на диск).

Итак, мой вопрос: как мне поставить в очередь несколько task_struct с, уложить их в сон и затем разбудить подмножество task_struct с в очереди, когда какое-то условие выполнено?

1 Ответ

0 голосов
/ 29 сентября 2011

Вы можете вызывать kthread_create столько раз, сколько хотите, чтобы создать новые потоки, а затем вызывать wake_up для любого подмножества потоков, которое вы хотите.

...