Home
last modified time | relevance | path

Searched refs:wakeup (Results 1 – 24 of 24) sorted by relevance

/DragonOS/docs/kernel/sched/
H A Drust_waiting.md37    当前进程会被挂起,直到有另一个进程调用了`wq.wakeup()`。
45 wq.wakeup(PROC_INTERRUPTIBLE);
48 wq.wakeup(PROC_UNINTERRUPTIBLE);
51 wq.wakeup((-1) as u64);
71   您可以使用`wakeup(state)`函数,唤醒等待队列中的第一个进程。如果这个进程的state与给定的state进行and操作之后,结果不为0,则唤醒它。
/DragonOS/kernel/src/libs/
H A Dwait_queue.rs219 pub fn wakeup(&self, state: Option<ProcessState>) -> bool { in wakeup() method
241 let res = ProcessManager::wakeup(&to_wakeup).is_ok(); in wakeup()
268 ProcessManager::wakeup(&to_wakeup).unwrap_or_else(|e| { in wakeup_all()
379 if ProcessManager::wakeup(pcb).is_ok() { in wakeup_any()
398 pub fn wakeup(&self, events: u64) -> usize { in wakeup() method
404 if ProcessManager::wakeup(pcb).is_ok() { in wakeup()
H A Dsemaphore.rs53 if !self.wait_queue.wakeup(None) { in up()
H A Dmutex.rs130 ProcessManager::wakeup(&to_wakeup).ok(); in unlock()
/DragonOS/docs/kernel/process_management/
H A Dkthread.md11 &emsp;&emsp;当内核线程被创建后,默认处于睡眠状态,要使用`ProcessManager::wakeup`函数将其唤醒。
/DragonOS/kernel/src/sched/
H A Dcompletion.rs54 inner.wait_queue.wakeup(None); in do_wait_for_common()
97 inner.wait_queue.wakeup(None); in complete()
/DragonOS/kernel/src/ipc/
H A Dpipe.rs216 .wakeup(Some(ProcessState::Blocked(true))); in read_at()
261 .wakeup(Some(ProcessState::Blocked(true))); in read_at()
266 .wakeup(Some(ProcessState::Blocked(true))); in read_at()
372 .wakeup(Some(ProcessState::Blocked(true))); in write_at()
407 .wakeup(Some(ProcessState::Blocked(true))); in write_at()
412 .wakeup(Some(ProcessState::Blocked(true))); in write_at()
H A Dsignal.rs321 ProcessManager::wakeup(&pcb).unwrap_or_else(|e| { in signal_wake_up()
347 let _r = ProcessManager::wakeup(&pcb).map(|_| { in signal_wake_up()
/DragonOS/kernel/src/process/
H A Dkthread.rs320 ProcessManager::wakeup(&pcb).expect("Failed to wakeup kthread daemon"); in init_stage2()
347 ProcessManager::wakeup(unsafe { KTHREAD_DAEMON_PCB.as_ref().unwrap() }) in create()
368 ProcessManager::wakeup(&pcb) in create_and_run()
402 ProcessManager::wakeup(pcb).ok(); in stop()
H A Dfork.rs194 ProcessManager::wakeup(&pcb).unwrap_or_else(|e| { in fork()
H A Dsyscall.rs258 ProcessManager::wakeup(&pcb).unwrap_or_else(|e| { in clone()
H A Dmod.rs228 pub fn wakeup(pcb: &Arc<ProcessControlBlock>) -> Result<(), SystemError> { in wakeup() method
393 pcb.wait_queue.wakeup(Some(ProcessState::Blocked(true))); in exit()
/DragonOS/kernel/src/driver/tty/
H A Dkthread.rs68 let _ = ProcessManager::wakeup(unsafe { TTY_REFRESH_THREAD.as_ref().unwrap() }); in send_to_tty_refresh_thread()
/DragonOS/kernel/src/exception/
H A Dsysfs.rs244 let wakeup = irq_desc.irq_data().is_wakeup_set(); in show() localVariable
245 return sysfs_emit_str(buf, &format!("{}\n", wakeup)); in show()
H A Dhandle.rs235 ProcessManager::wakeup(&thread).ok(); in do_irq_wake_thread()
H A Dmanage.rs610 ProcessManager::wakeup(&action_guard.thread().unwrap()).ok(); in wake_up_and_wait_for_irq_thread_ready()
/DragonOS/kernel/src/smp/cpu/
H A Dmod.rs265 ProcessManager::wakeup(cpu_state.thread.as_ref().unwrap())?; in do_cpuhp_kick_ap()
/DragonOS/kernel/src/time/
H A Dtimer.rs101 ProcessManager::wakeup(&self.pcb).ok(); in run()
H A Dclocksource.rs1026 ProcessManager::wakeup(&watchdog_kthread).ok(); in run_watchdog_kthread()
/DragonOS/docs/community/ChangeLog/V0.1.x/
H A DV0.1.9.md92 - bugfix: 解决waitqueue sleep的时候,由于preempt count不为0,导致sched失败,从而导致该waitqueue下一次wakeup时,会把pcb多次加入调度队列的…
1246 1.解决waitqueue sleep的时候,由于preempt count不为0,导致sched失败,从而导致该waitqueue下一次wakeup时,会把pcb多次加入调度队列的bug
1906 * 修正为在 wakeup 中设置 running ,以保留 set_state 的私有性
1916 * 修复wakeup的问题
H A DV0.1.10.md615 * 修改wakeup函数获取running queue时unwrap一个None值发生panic
/DragonOS/kernel/src/net/event_poll/
H A Dmod.rs713 self.epoll_wq.wakeup(None); in ep_wake_one()
/DragonOS/kernel/src/libs/futex/
H A Dfutex.rs113 ProcessManager::wakeup(&futex_q.pcb.upgrade().unwrap())?; in wake_up()
/DragonOS/kernel/src/mm/
H A Dpage.rs212 let _ = ProcessManager::wakeup(unsafe { PAGE_RECLAIMER_THREAD.as_ref().unwrap() }); in wakeup_claim_thread()