Home
last modified time | relevance | path

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

/DragonOS/docs/kernel/sched/
H A Drust_waiting.md5 ## 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 Dsemaphore.rs8 use super::wait_queue::WaitQueue;
14 wait_queue: WaitQueue,
28 wait_queue: WaitQueue::default(), in new()
H A Dwait_queue.rs28 pub struct WaitQueue(SpinLock<InnerWaitQueue>); struct
31 impl WaitQueue { impl
33 WaitQueue(SpinLock::new(InnerWaitQueue::INIT)) in default()
/DragonOS/kernel/src/sched/
H A Dcompletion.rs6 libs::{spinlock::SpinLock, wait_queue::WaitQueue},
145 wait_queue: WaitQueue,
152 wait_queue: WaitQueue::default(), in new()
/DragonOS/kernel/src/namespaces/
H A Dmnt_namespace.rs24 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 Dpipe.rs8 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 DV0.1.4.md38 - WaitQueue: new: Rust版本的WaitQueue (#162)
39 - WaitQueue: update: C版本的wait_queue的唤醒,改为立即唤醒 (#158)
H A DV0.1.7.md201 2.WaitQueue增加wakeup_all的功能
/DragonOS/kernel/src/filesystem/
H A Deventfd.rs5 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 Ddd.rs15 libs::wait_queue::WaitQueue,
26 static PROBE_WAIT_QUEUE: WaitQueue = WaitQueue::default();
/DragonOS/kernel/src/net/event_poll/
H A Dmod.rs24 wait_queue::WaitQueue,
44 epoll_wq: WaitQueue,
60 epoll_wq: WaitQueue::default(), in new()
/DragonOS/kernel/src/process/
H A Dmod.rs45 wait_queue::WaitQueue,
651 wait_queue: WaitQueue,
748 wait_queue: WaitQueue::default(), in do_create_pcb()