Searched refs:WaitQueue (Results 1 – 12 of 12) sorted by relevance
/DragonOS/docs/kernel/sched/ |
H A D | rust_waiting.md | 5 ## 1. WaitQueue等待队列 7    WaitQueue是一种进程同步机制,中文名为“等待队列”。它可以将当前进程挂起,并在时机成熟时,由另一个进程唤醒他们。 9   当您需要等待一个事件完成时,使用 WaitQueue机制能减少进程同步的开销。相比于滥用自旋锁以及信号量,或者是循环使用usleep(1000)这样的函数来完成同步, Wai… 11 ### 1.1 WaitQueue的使用 13    WaitQueue的使用非常简单,只需要三步: 15 1. 初始化一个WaitQueue对象。 16 2. 调用这个WaitQueue的挂起相关的API,将当前进程挂起。 17 3. 当事件发生时,由另一个进程,调用这个WaitQueue的唤醒相关的API,唤醒一个进程。 21 ### 1.1.1 初始化一个WaitQueue对象 23    WaitQueue对象的初始化非常简单,只需要调用WaitQueue::INIT即可。 [all …]
|
/DragonOS/kernel/src/libs/ |
H A D | semaphore.rs | 8 use super::wait_queue::WaitQueue; 14 wait_queue: WaitQueue, 28 wait_queue: WaitQueue::default(), in new()
|
H A D | wait_queue.rs | 28 pub struct WaitQueue(SpinLock<InnerWaitQueue>); struct 31 impl WaitQueue { impl 33 WaitQueue(SpinLock::new(InnerWaitQueue::INIT)) in default()
|
/DragonOS/kernel/src/sched/ |
H A D | completion.rs | 6 libs::{spinlock::SpinLock, wait_queue::WaitQueue}, 145 wait_queue: WaitQueue, 152 wait_queue: WaitQueue::default(), in new()
|
/DragonOS/kernel/src/namespaces/ |
H A D | mnt_namespace.rs | 24 use crate::libs::wait_queue::WaitQueue; 42 poll: WaitQueue, 153 poll: WaitQueue::default(), in new() 183 poll: WaitQueue::default(), in create_mnt_namespace()
|
/DragonOS/kernel/src/ipc/ |
H A D | pipe.rs | 8 wait_queue::WaitQueue, 45 read_wait_queue: WaitQueue, 46 write_wait_queue: WaitQueue, 158 read_wait_queue: WaitQueue::default(), in new() 159 write_wait_queue: WaitQueue::default(), in new()
|
/DragonOS/docs/community/ChangeLog/V0.1.x/ |
H A D | V0.1.4.md | 38 - WaitQueue: new: Rust版本的WaitQueue (#162) 39 - WaitQueue: update: C版本的wait_queue的唤醒,改为立即唤醒 (#158)
|
H A D | V0.1.7.md | 201 2.WaitQueue增加wakeup_all的功能
|
/DragonOS/kernel/src/filesystem/ |
H A D | eventfd.rs | 5 use crate::libs::wait_queue::WaitQueue; 54 wait_queue: WaitQueue, 62 wait_queue: WaitQueue::default(), in new()
|
/DragonOS/kernel/src/driver/base/device/ |
H A D | dd.rs | 15 libs::wait_queue::WaitQueue, 26 static PROBE_WAIT_QUEUE: WaitQueue = WaitQueue::default();
|
/DragonOS/kernel/src/net/event_poll/ |
H A D | mod.rs | 24 wait_queue::WaitQueue, 44 epoll_wq: WaitQueue, 60 epoll_wq: WaitQueue::default(), in new()
|
/DragonOS/kernel/src/process/ |
H A D | mod.rs | 45 wait_queue::WaitQueue, 651 wait_queue: WaitQueue, 748 wait_queue: WaitQueue::default(), in do_create_pcb()
|