Home
last modified time | relevance | path

Searched refs:wait_queue_node_t (Results 1 – 8 of 8) sorted by relevance

/DragonOS-0.1.7/kernel/src/common/
Dwait_queue.h16 } wait_queue_node_t; typedef
24 void wait_queue_init(wait_queue_node_t *wait_queue, struct process_control_block *pcb);
31 void wait_queue_sleep_on(wait_queue_node_t *wait_queue_head);
38 void wait_queue_sleep_on_unlock(wait_queue_node_t *wait_queue_head, void *lock);
44 void wait_queue_sleep_on_interriptible(wait_queue_node_t *wait_queue_head);
52 void wait_queue_wakeup(wait_queue_node_t *wait_queue_head, int64_t state);
61 wait_queue_node_t name = {0}; \
65 wait_queue_node_t name = {0}; \
69 wait_queue_node_t *wait = (wait_queue_node_t *)kzalloc(sizeof(wait_queue_node_t), 0); \
73 wait_queue_node_t *wait = (wait_queue_node_t *)kzalloc(sizeof(wait_queue_node_t), 0); \
[all …]
Dsemaphore.h24 wait_queue_node_t wait_queue;
/DragonOS-0.1.7/kernel/src/libs/
Dwait_queue.c13 void wait_queue_init(wait_queue_node_t *wait_queue, struct process_control_block *pcb) in wait_queue_init()
24 void wait_queue_sleep_on(wait_queue_node_t *wait_queue_head) in wait_queue_sleep_on()
26 wait_queue_node_t *wait = (wait_queue_node_t *)kzalloc(sizeof(wait_queue_node_t), 0); in wait_queue_sleep_on()
39 void wait_queue_sleep_on_unlock(wait_queue_node_t *wait_queue_head, in wait_queue_sleep_on_unlock()
42 wait_queue_node_t *wait = (wait_queue_node_t *)kzalloc(sizeof(wait_queue_node_t), 0); in wait_queue_sleep_on_unlock()
55 void wait_queue_sleep_on_interriptible(wait_queue_node_t *wait_queue_head) in wait_queue_sleep_on_interriptible()
57 wait_queue_node_t *wait = (wait_queue_node_t *)kzalloc(sizeof(wait_queue_node_t), 0); in wait_queue_sleep_on_interriptible()
71 void wait_queue_wakeup(wait_queue_node_t *wait_queue_head, int64_t state) in wait_queue_wakeup()
75wait_queue_node_t *wait = container_of(list_next(&wait_queue_head->wait_list), wait_queue_node_t, … in wait_queue_wakeup()
Dwait_queue_head.c22 void wait_queue_sleep_with_node(wait_queue_head_t *q, wait_queue_node_t *wait) in wait_queue_sleep_with_node()
37 void wait_queue_sleep_with_node_unlock(wait_queue_head_t *q, wait_queue_node_t *wait, void *lock) in wait_queue_sleep_with_node_unlock()
53 void wait_queue_sleep_with_node_interriptible(wait_queue_head_t *q, wait_queue_node_t *wait) in wait_queue_sleep_with_node_interriptible()
74 wait_queue_node_t *wait = container_of(list_next(&q->wait_list), wait_queue_node_t, wait_list); in wait_queue_wakeup_on_stack()
Dsemaphore.c13 wait_queue_node_t wait; in semaphore_down()
35wait_queue_node_t *wq = container_of(list_next(&sema->wait_queue.wait_list), wait_queue_node_t, wa… in semaphore_up()
/DragonOS-0.1.7/docs/kernel/sched/
Dc_waiting.md18 …后来的开发中加入了`wait_queue_head_t`的队列头实现,实质上就是链表+自旋锁。它与`wait_queue.h`中的队列`wait_queue_node_t`是兼容的,当你使用`st…
29 &emsp;&emsp;要使用wait_queue,您需要`#include<common/wait_queue.h>`,并创建一个`wait_queue_node_t`类型的变量,作为等待队列的头…
36 } wait_queue_node_t;
42 wait_queue_node_t wq_keyboard_interrupt_received;
49 &emsp;&emsp;函数`wait_queue_init(wait_queue_node_t *wait_queue, struct process_control_block *pcb)`提供…
67 &emsp;&emsp;您可以使用`void wait_queue_wakeup(wait_queue_node_t * wait_queue_head, int64_t state);`函数,从指…
120 | wait_queue_sleep_with_node(wait_queue_head_t *head, wait_queue_node_t *wait_node) | …
121 | wait_queue_sleep_with_node_unlock(wait_queue_head_t *q, wait_queue_node_t *wait, void *lock) …
122 | wait_queue_sleep_with_node_interriptible(wait_queue_head_t *q, wait_queue_node_t *wait) | 传入一个等待队…
/DragonOS-0.1.7/kernel/src/process/
Dproc-types.h123 wait_queue_node_t wait_child_proc_exit; // 子进程退出等待队列
/DragonOS-0.1.7/kernel/src/driver/keyboard/
Dps2_keyboard.c15 static wait_queue_node_t ps2_keyboard_wait_queue;