/DragonOS/docs/kernel/sched/ |
H A D | core.md | 43   一次有效的调度分两种情况,第一是主动调用``__schedule``或者``schedule``函数进行调度,第二是通过时钟中断,判断当前运行的任务时间是否到期。 46 - ``__schedule``和``schedule``函数: 48 …- ``schedule``: ``__schedule``的上层封装,它需要该任务在内核中的所有资源释放干净才能进行调度,即判断当前进程的``preempt_count``是否为0,若不为0则会…
|
/DragonOS/kernel/src/libs/ |
H A D | wait_queue.rs | 12 sched::{schedule, SchedMode}, 73 schedule(SchedMode::SM_NONE); in sleep() 92 schedule(SchedMode::SM_NONE); in sleep_with_func() 143 schedule(SchedMode::SM_NONE); in sleep_uninterruptible() 159 schedule(SchedMode::SM_NONE); in sleep_unlock_spinlock() 175 schedule(SchedMode::SM_NONE); in sleep_unlock_mutex() 191 schedule(SchedMode::SM_NONE); in sleep_uninterruptible_unlock_spinlock() 209 schedule(SchedMode::SM_NONE); in sleep_uninterruptible_unlock_mutex() 339 schedule(SchedMode::SM_NONE); in sleep() 363 schedule(SchedMode::SM_NONE); in sleep_unlock_spinlock()
|
H A D | mutex.rs | 14 sched::{schedule, SchedMode}, 110 schedule(SchedMode::SM_NONE); in __sleep()
|
/DragonOS/kernel/src/sched/ |
H A D | syscall.rs | 11 use super::{cpu_rq, schedule, SchedMode}; 33 schedule(SchedMode::SM_NONE); in do_sched_yield()
|
H A D | mod.rs | 821 pub fn schedule(sched_mod: SchedMode) { in schedule() function
|
/DragonOS/kernel/src/driver/tty/ |
H A D | kthread.rs | 14 sched::{schedule, SchedMode}, 42 schedule(SchedMode::SM_NONE); in tty_refresh_thread()
|
/DragonOS/kernel/src/time/ |
H A D | sleep.rs | 10 sched::{schedule, SchedMode}, 56 schedule(SchedMode::SM_NONE); in nanosleep()
|
H A D | timer.rs | 24 sched::{schedule, SchedMode}, 308 schedule(SchedMode::SM_NONE); in schedule_timeout() 327 schedule(SchedMode::SM_NONE); in schedule_timeout()
|
H A D | clocksource.rs | 27 sched::{schedule, SchedMode}, 958 schedule(SchedMode::SM_NONE); in clocksource_watchdog_kthread()
|
/DragonOS/kernel/crates/wait_queue_macros/src/ |
H A D | lib.rs | 30 crate::sched::schedule(SchedMode::SM_NONE)
|
/DragonOS/kernel/src/process/ |
H A D | exit.rs | 13 sched::{schedule, SchedMode}, 169 schedule(SchedMode::SM_NONE); in do_wait()
|
H A D | kthread.rs | 22 sched::{schedule, SchedMode}, 483 schedule(SchedMode::SM_NONE); in kthread_daemon() 508 schedule(SchedMode::SM_NONE); in kernel_thread_bootstrap_stage2()
|
/DragonOS/kernel/src/arch/x86_64/ipc/ |
H A D | signal.rs | 20 sched::{schedule, SchedMode}, 719 schedule(SchedMode::SM_NONE); in sig_stop()
|
/DragonOS/kernel/src/net/socket/ |
H A D | mod.rs | 30 sched::{schedule, SchedMode}, 426 schedule(SchedMode::SM_NONE); in sleep()
|
/DragonOS/kernel/src/net/event_poll/ |
H A D | mod.rs | 27 sched::{schedule, SchedMode}, 498 schedule(SchedMode::SM_NONE); in do_epoll_wait()
|
/DragonOS/kernel/src/libs/futex/ |
H A D | futex.rs | 22 sched::{schedule, SchedMode}, 297 schedule(SchedMode::SM_NONE); in futex_wait()
|
/DragonOS/kernel/src/syscall/ |
H A D | mod.rs | 19 sched::{schedule, SchedMode}, 387 schedule(SchedMode::SM_NONE); in handle() 1148 schedule(SchedMode::SM_PREEMPT); in handle()
|