У меня есть очередь ожидания, определенная в модуле ядра, над которым я работаю:
static DECLARE_WAIT_QUEUE_HEAD(WaitQ);
в процедуре init_module () я создаю новый поток ядра, который выводится на консоль каждые несколько секунд.
В моем файле cleanup_module я установил переменную, которая сообщает потоку об окончании, а затем в качестве последней строки в cleanup_module указывается sleep_on (& WaitQ).Затем в потоке вызывается подпрограмма wake_up (& WaitQ), когда переменная, установленная в cleanup_module, равна true, а затем complete_and_exit для завершения потока.
У меня вопрос.когда sleep_on (& WaitQ) вызывается, что добавляется в WaitQ.Это модуль в целом или поток запущен в init_module?