cleanup_module ядро ​​Linux - PullRequest
       1

cleanup_module ядро ​​Linux

0 голосов
/ 24 октября 2011

У меня есть очередь ожидания, определенная в модуле ядра, над которым я работаю:

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?

1 Ответ

1 голос
/ 24 октября 2011

Ни то, ни другое - в очередь добавляется поток (задача) процессора "rmmod", который вызвал удаление модуля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...