Home
last modified time | relevance | path

Searched refs:wait_list (Results 1 – 12 of 12) sorted by relevance

/DragonOS-0.1.3/kernel/src/libs/
Dwait_queue_head.c13 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()
Dwait_queue.c15 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()
Dsemaphore.c18 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()
Dwait_queue.rs8 let mut x = Self { wait_list: Default::default(), lock: Default::default() }; in default()
9 list_init(&mut x.wait_list); in default()
Dmutex.c14 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.3/kernel/src/ktest/
Dtest-mutex.c40 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.3/kernel/src/sched/
Dcompletion.c42 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.3/kernel/src/common/
Dwait_queue.h14 struct List wait_list; member
56 struct List wait_list; member
Dmutex.h21 struct List wait_list; // Mutex的等待队列 member
/DragonOS-0.1.3/docs/kernel/locking/
Dlocks.md64 struct List wait_list; // Mutex的等待队列
/DragonOS-0.1.3/docs/kernel/sched/
Dwaiting.md28 struct List wait_list;
79 struct List wait_list;
/DragonOS-0.1.3/kernel/src/driver/disk/ahci/
Dahci.c600 …= container_of(list_next(&ahci_req_queue.wait_queue_list.wait_list), wait_queue_node_t, wait_list); in ahci_query_disk()
604 list_del(&(ahci_req_queue.in_service->wait_queue.wait_list)); in ahci_query_disk()
634 list_append(&(ahci_req_queue.wait_queue_list.wait_list), &(pack->blk_pak.wait_queue.wait_list)); in ahci_submit()