- Schedule
REF: schedule()
- Wait queue
REF: init_wait_queue_head(), interruptible_sleep_on(), wake_up()
Note: You can also put yourself in the wait queue (when waiting for I/O) by manually:
DECLARE_WAIT_QUEUE(wait, current);
add_wait_queue(wait_q_head, &wait);
while(!condition){
set_current_state(TASK_INERRUPTIBLE);
schedule();
}
set_current_state(TASK_RUNNING);
remove_wait_queue(q, &wait);
- Kernel timer
REF: init_timer(), del_timer(), add_timer()
- Task queue
REF: INIT_TQUEUE(),queue_task(), schedule_task(), DECLARE_TASK_QUEUE(), run_task_queue()
- Tasklet
REF: DECLARE_TASKLET(), tasklet_init(), tasklet_schdule()
沒有留言:
張貼留言