Linux: функции wake_up и sleep_on

#linux-kernel #wait #embedded-linux #waithandle #time-wait

#linux-ядро #подождите #встроенный-linux #waithandle #время ожидания

Вопрос:

Я пытаюсь научиться программировать загружаемые модули ядра для Linux. Мне было интересно, может ли кто-нибудь сказать мне, какие функции sleep_on и wake_up что делать?

В примерах, которые я рассматриваю amp;WaitQ , всегда передается в них и

 static DECLARE_WAIT_QUEUE_HEAD(WaitQ);
 

объявляется в верхней части модуля.

Ответ №1:

Если задача в ядре достигает точки, в которой она хочет использовать ресурс, и ей сообщают the resource is currently used by another task , она может решить перейти в режим сна wake me up when the resource is available again . Это в основном относится к sleep_on и wake_up. Подробное объяснение смотрите здесь: http://www.linuxtopia.org/online_books/Linux_Kernel_Module_Programming_Guide/x1032.html