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