Searched refs:wait_list (Results 1 – 12 of 12) sorted by relevance
/DragonOS-0.1.5/kernel/src/libs/ |
D | wait_queue.c | 15 list_init(&wait_queue->wait_list); in wait_queue_init() 29 list_append(&wait_queue_head->wait_list, &wait->wait_list); in wait_queue_sleep_on() 45 list_append(&wait_queue_head->wait_list, &wait->wait_list); in wait_queue_sleep_on_unlock() 60 list_append(&wait_queue_head->wait_list, &wait->wait_list); in wait_queue_sleep_on_interriptible() 73 if (list_empty(&wait_queue_head->wait_list)) in wait_queue_wakeup() 75 …_node_t *wait = container_of(list_next(&wait_queue_head->wait_list), wait_queue_node_t, wait_list); in wait_queue_wakeup() 80 list_del(&wait->wait_list); in wait_queue_wakeup()
|
D | wait_queue_head.c | 13 list_init(&wait_queue->wait_list); in wait_queue_head_init() 27 list_append(&q->wait_list, &wait->wait_list); in wait_queue_sleep_with_node() 42 list_append(&q->wait_list, &wait->wait_list); in wait_queue_sleep_with_node_unlock() 58 list_append(&q->wait_list, &wait->wait_list); in wait_queue_sleep_with_node_interriptible() 71 if (list_empty(&q->wait_list)) in wait_queue_wakeup_on_stack() 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() 79 list_del_init(&wait->wait_list); in wait_queue_wakeup_on_stack()
|
D | semaphore.c | 18 list_append(&sema->wait_queue.wait_list, &wait.wait_list); in semaphore_down() 28 if (list_empty(&sema->wait_queue.wait_list)) // 没有进程在等待资源 in semaphore_up() 35 …ue_node_t *wq = container_of(list_next(&sema->wait_queue.wait_list), wait_queue_node_t, wait_list); in semaphore_up() 36 list_del(&wq->wait_list); in semaphore_up()
|
D | wait_queue.rs | 21 wait_list: Default::default(), in default() 24 list_init(&mut x.wait_list); in default() 32 wait_list: LinkedList<&'static mut process_control_block>, field 46 guard.wait_list.push_back(current_pcb()); in sleep() 55 guard.wait_list.push_back(current_pcb()); in sleep_uninterruptible() 65 guard.wait_list.push_back(current_pcb()); in sleep_unlock_spinlock() 76 guard.wait_list.push_back(current_pcb()); in sleep_unlock_mutex() 87 guard.wait_list.push_back(current_pcb()); in sleep_uninterruptible_unlock_spinlock() 98 guard.wait_list.push_back(current_pcb()); in sleep_uninterruptible_unlock_mutex() 114 if guard.wait_list.is_empty() { in wakeup() [all …]
|
D | mutex.rs | 23 wait_list: LinkedList<&'static mut process_control_block>, field 52 wait_list: LinkedList::<&'static mut process_control_block>::new(), in new() 68 inner.wait_list.push_back(current_pcb()); in lock() 120 if inner.wait_list.is_empty() { in unlock() 125 let to_wakeup: &mut process_control_block = inner.wait_list.pop_front().unwrap(); in unlock() 136 for p in inner.wait_list.iter() { in check_pid_in_wait_list()
|
D | mutex.c | 14 list_init(&lock->wait_list); in mutex_init() 51 list_append(&lock->wait_list, &waiter->list); in mutex_lock() 80 if (!list_empty(&lock->wait_list)) in mutex_unlock() 81 wt = container_of(list_next(&lock->wait_list), struct mutex_waiter_t, list); in mutex_unlock()
|
/DragonOS-0.1.5/kernel/src/ktest/ |
D | test-mutex.c | 40 assert(list_empty(&mtx.wait_list)); in ktest_mutex_case1_pid1() 58 while (list_empty(&mtx.wait_list)) in ktest_mutex_case1() 63 … struct mutex_waiter_t *wt = container_of(list_next(&mtx.wait_list), struct mutex_waiter_t, list); in ktest_mutex_case1()
|
/DragonOS-0.1.5/kernel/src/common/ |
D | wait_queue.h | 14 struct List wait_list; member 56 struct List wait_list; member
|
D | mutex.h | 21 struct List wait_list; // Mutex的等待队列 member
|
/DragonOS-0.1.5/kernel/src/sched/ |
D | completion.c | 42 while (!list_empty(&x->wait_queue.wait_list)) in complete_all() 66 if (list_empty(&wait.wait_list)) in __wait_for_common() 67 list_append(&x->wait_queue.wait_list, &wait.wait_list); in __wait_for_common() 79 if (!list_empty(&wait.wait_list)) in __wait_for_common() 80 list_del_init(&wait.wait_list); // 必须使用del_init in __wait_for_common()
|
/DragonOS-0.1.5/docs/kernel/locking/ |
D | mutex.md | 40 wait_list: LinkedList<&'static mut process_control_block>, 137 struct List wait_list; // Mutex的等待队列
|
/DragonOS-0.1.5/docs/kernel/sched/ |
D | c_waiting.md | 34 struct List wait_list; 85 struct List wait_list;
|