进程调度API之init_waitqueue_entry
2017-12-19 08:19
405 查看
static inline void init_waitqueue_entry(wait_queue_t *q, struct task_struct *p) 是等待队列的基础适用函数之一,之前的博文已经给出过等待队列的用法了 这个函数的作用是用新进程来初始化队列 static inline void init_waitqueue_entry(wait_queue_t *q, struct task_struct *p) { q->flags = 0; q->private = p; q->func = default_wake_function; } 可见这里等待队列到期执行的函数default_wake_function主要用来wakeup当前thread。 static inline void init_waitqueue_func_entry(wait_queue_t *q, wait_queue_func_t func) { q->flags = 0; q->private = NULL; q->func = func; } 通过init_waitqueue_func_entry 可以指定等待队列到期执行的函数为用户指定的函数。即等待队列到期 不一定非得执行wakeup函数.可以检测一个条件,如果这个条件成立的话再调用default_wake_function来 唤醒进程。
相关文章推荐
- 进程调度API之init_waitqueue_head
- 进程调度API之preempt_notifier_register/preempt_notifier_unregister
- 进程调度API之sleep_on_spinunlock
- 进程调度API之preempt_schedule
- 进程调度API之preempt_count_add/preempt_count_sub
- Linux下0号进程的前世(init_task进程)今生(idle进程)----Linux进程的管理与调度(五)
- Linux下0号进程的前世(init_task进程)今生(idle进程)----Linux进程的管理与调度(五)
- 进程调度API之yield
- Linux下0号进程的前世(init_task进程)今生(idle进程)----Linux进程的管理与调度(五)
- 进程调度API之cond_resched
- 进程调度API之__wake_up
- 进程调度API之add_wait_queue_exclusive
- Linux进程的管理与调度(五) -- Linux下0号进程的前世(init_task进程)今生(idle进程)
- 进程调度API之wait_for_completion_x
- 进程调度API之autoremove_wake_function
- 进程调度API之set_cpus_allowed_ptr
- Linux下1号进程的前世(kernel_init)今生(init进程)----Linux进程的管理与调度(六)
- 进程调度API之wake_up_process
- Linux进程的管理与调度(六) -- Linux下1号进程的前世(kernel_init)今生(init进程)
- 进程调度API之task_nice