wake_up - スリープしているプロセスを起こす(wake up)
#include <linux/sched.h> void wake_up(struct wait_queue**condition)
wake_up 関数はちょうど sleep_on(9)関数の反対で、同じ condition 変数を使ってスリープさせられているプロセスを起こすものである。 与えられた condition でスリープしているすべてのプロセスが 起こされる。もしその condition にあるプロセスがいなければ、 何も起こらない。
sleep_on(9) 関数とは異なり、wake_up はブロックされず、また 割り込みハンドラからコールされる場合もある。つまり、根本的には 割り込みイベントを同期させるためにある。
condition パラメータがNULLであるか、または condition でスリープ しているプロセスがない場合は、wake_up をコールしても何も 行われない。
/usr/src/linux/kernel/sched.c