Searched refs:wait_queue_node_t (Results 1 – 8 of 8) sorted by relevance
/DragonOS-0.1.7/kernel/src/common/ |
D | wait_queue.h | 16 } 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 …]
|
D | semaphore.h | 24 wait_queue_node_t wait_queue;
|
/DragonOS-0.1.7/kernel/src/libs/ |
D | wait_queue.c | 13 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() 75 …wait_queue_node_t *wait = container_of(list_next(&wait_queue_head->wait_list), wait_queue_node_t, … in wait_queue_wakeup()
|
D | wait_queue_head.c | 22 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()
|
D | semaphore.c | 13 wait_queue_node_t wait; in semaphore_down() 35 …wait_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/ |
D | c_waiting.md | 18 …后来的开发中加入了`wait_queue_head_t`的队列头实现,实质上就是链表+自旋锁。它与`wait_queue.h`中的队列`wait_queue_node_t`是兼容的,当你使用`st… 29   要使用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   函数`wait_queue_init(wait_queue_node_t *wait_queue, struct process_control_block *pcb)`提供… 67   您可以使用`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/ |
D | proc-types.h | 123 wait_queue_node_t wait_child_proc_exit; // 子进程退出等待队列
|
/DragonOS-0.1.7/kernel/src/driver/keyboard/ |
D | ps2_keyboard.c | 15 static wait_queue_node_t ps2_keyboard_wait_queue;
|